?? main.c
字號:
/****************************************Copyright (c)***************************************************
** Guangzou ZLG-MCU Development Co.,LTD.
** graduate school
** http://www.zlgmcu.com
**
**--------------File Info-------------------------------------------------------------------------------
** File name: main.c
** Last modified Date: 2004-09-16
** Last Version: 1.0
** Descriptions: The main() function example template
**
**------------------------------------------------------------------------------------------------------
** Created by: Chenmingji
** Created date: 2004-09-16
** Version: 1.0
** Descriptions: The original version
**
**------------------------------------------------------------------------------------------------------
** Modified by: Li Baihua
** Modified date: 2008-04-09
** Version: 1.1
** Descriptions: 定時器2捕獲產生中斷
**
*********************************************************************************************************/
#include "config.h"
#define LED 1 << 17
/*********************************************************************************************************
** Function name: Timer2ISR
** Descriptions: 中斷服務函數
** input parameters: 無
** ouput parameters: 無
** Returned value: 無
*********************************************************************************************************/
void __irq Timer2ISR (void)
{
if ((IO0PIN & LED) == 0) {
IO0SET = LED; /* 熄滅發光二極管 */
}
else IO0CLR = LED;
T2IR = 0x10; /* 清除中斷標志 */
VICVectAddr = 0x00; /* 中斷向量結束 */
}
/*********************************************************************************************************
** Function name: Timer2Init
** Descriptions: 定時器2初始化
** input parameters: 無
** ouput parameters: 無
** Returned value: 無
*********************************************************************************************************/
void Timer2Init(void)
{
PINSEL1 = PINSEL1 & (~(0x03<<22)) | (0x02<<22); /* 選擇CAP2.0功能 */
T2TCR = 0x02; /* 復位定時器2 */
T2IR = 0x10; /* 清除中斷標志 */
T2CCR = 0x06; /* 設置上升沿捕獲,并產生中斷 */
T2TCR = 0x01; /* 啟動定時器 */
}
/*********************************************************************************************************
** Function name: main
** Descriptions: 定時器捕獲中斷主程序
** input parameters: 無
** ouput parameters: 無
** Returned value: 無
*********************************************************************************************************/
int main (void)
{
PINSEL1 = PINSEL1 & 0xFFFFFFF3; /* 選擇P0.17的GPIO功能 */
IO0DIR = LED; /* 設置P0.17為輸出 */
IO0SET = LED; /* 設置輸出高電平 */
Timer2Init(); /* 定時器2初始化 */
IRQEnable(); /* IRQ中斷使能 */
/*
* 設置向量中斷控制器
*/
VICIntSelect = VICIntSelect & (~(1 << 26)); /* 定時器2分配為IRQ中斷 */
VICVectCntl0 = 0x20 | 26; /* 定時器2分配為向量IRQ通道0 */
VICVectAddr0 = (uint32) Timer2ISR; /* 分配中斷服務程序地址 */
VICIntEnable = 1 << 26; /* 定時器2中斷使能 */
while(1);
return 0;
}
/*********************************************************************************************************
END FILE
********************************************************************************************************/
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -