在看官方的KE02-SC的例子led。不懂的void RTC_Task怎么调用的。

2020-02-20 20:39发布

第一次接触飞思卡尔的片子,硬着头皮看。

void RTC_Task(void)
{
    /* toggle LED1 */
    LED0_Toggle();

}
这个程序没有在主循环的调用,是怎么执行的呢?
看样子与初始化有关
RTC_SetupTimerCallback(RTC_Task);
  RTC_Init(RTC_CLKSRC_1KHZ,3, RTC_CLK_PRESCALER_100);

这是原函数:
void RTC_Init(uint8 clkSrc,uint16 modulo, uint8 prescaler)
{
    SIM_SCGC |= SIM_SCGC_RTC_MASK;                     /*enable clock to RTC*/
    RTC_MOD= modulo;                                   /*NOTE: RTC_MOD must be written after RTC_SC*/
    RTC_SC =  0 | RTC_SC_RTIE_MASK | RTC_SC_RTCO_MASK ;      
    RTC_SC |= ((clkSrc & 0x3) << 14) | ((prescaler & 0x07)<<8);
    /*enable interrupt*/
    enable_irq(20);
}

void RTC_SetupTimerCallback(T_RTC_Callback pfnCallback)
{
    RTC_Callback[0] = pfnCallback;
}

但是怎么和函数void RTC_Task(void)关联在一起的呢?
初学,莫笑话我哦。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
28条回答
湛泸骏驰
1楼-- · 2020-02-22 11:02
qufuta 发表于 2014-12-1 15:18
有操作系统吗???

这个没有操作系统吧
子鱼
2楼-- · 2020-02-22 11:17
最好能把工程文件也上传到帖子里
子鱼
3楼-- · 2020-02-22 16:42
回调类似触发中断,切换到另一个任务执行,然后再回调到主任务。
子鱼
4楼-- · 2020-02-22 21:44
可以参考一下这个帖子:

读书笔记_学习心得 RTC时钟.pdf (95.98 KB, 下载次数: 12) 2014-12-1 15:58 上传 点击文件名下载附件
swap2013
5楼-- · 2020-02-23 00:13
 精彩回答 2  元偷偷看……
dengterry
6楼-- · 2020-02-23 01:52
好好看看rtc.c、rtc.h文件
LZ还差一个中断函数,void RTC_Isr(void),这个函数间接调用了RTC_Task函数。

一周热门 更多>