?? timer.c
字號:
/*************************************** Copyright (c) *************************************************
*
* POLAR STAR
* 北天星國際貿易(深圳)有限公司
* http://www.po-star.com
*
* 文 件 名: TIMER.C
* 文件描述:利用RTC的增量功能進行1S的定時,當定時時間到時,取反LED1控制。
* 使用I/O口直接控制LED,采用灌電流方式。
*
* 說 明:將跳線器JP2的LED1短接;
*
********************************************************************************************************/
#include "config.h"
#define LED1CON 1<<18 /* P0.18引腳控制LED1,低電平點亮 */
/********************************************************************************************************
*
* 函數名稱:RTCInit(void)
*
* 功能描述:初始化實時時鐘。
*
* 入口參數:無
* 出口參數:無
*
* 全局變量: 無
* 調用模塊: 無
*
********************************************************************************************************/
void RTCInit(void)
{
PREINT = Fpclk / 32768 - 1; // 設置基準時鐘分頻器
PREFRAC = Fpclk - (Fpclk / 32768) * 32768;
YEAR = 2004; // 初始化年
MONTH = 2; // 初始化月
DOM = 19; // 初始化日
CIIR = 0x01; // 設置秒值的增量產生一次中斷
CCR = 0x01; // 啟動RTC
}
/********************************************************************************************************
*
* 函數名稱:main()
*
* 功能描述:使用RTC的秒增量中斷功能控制LED1閃爍。
*
* 入口參數:無
* 出口參數:無
*
* 全局變量: 無
* 調用模塊: 無
*
********************************************************************************************************/
int main(void)
{
PINSEL0 = 0x00000000; // 設置所有管腳連接GPIO
PINSEL1 = 0x00000000;
IODIR = LED1CON; // 設置LED1控制口為輸出
RTCInit(); // 初始化RTC寄存器
while(1)
{
IOSET = LED1CON; // 滅燈
while( 0==(ILR&0x01) ); // 等待RTC增量中斷標志
ILR = 0x01; // 清除中斷標志
IOCLR = LED1CON; // 亮燈
while( 0==(ILR&0x01) ); // 等待RTC增量中斷標志
ILR = 0x01; // 清除中斷標志
}
return(0);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -