- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
#1楼主【原创】ZigBee学习之33——osal_start_system().doc
#1楼主:【原创】ZigBee学习之33——osal_start_system()
文章发表于:2010-02-12 17:34
osal_start_system(); //运行系统【OSAL.c】
//此函数是任务系统的主循环函数,他将轮询所有任务事件然后调用相关的任务处理函数,没有任务时将进入休眠状态。
void osal_start_system( void )
{
#if !defined ( ZBIT )
//虽然搞不清楚这个ZBIT什么东西,不过应该是没有定义的,如果定义了的话所有函数只会顺序跑下来,跑完这个函数整个系统就结束了,没有意义,这里看到这个无限循环应该就是整个系统的运行方式了
for(;;)
#endif
{
uint8 idx = 0;
Hal_ProcessPoll(); // This replaces MT_SerialPoll() and osal_check_timer().
//OSAL调用此函数来推送UART,TIMER。。。【hal_drivers.c】
void Hal_ProcessPoll ()
{
//选取定时器
HalTimerTick();
//检查定时器的计数溢出【hal_timer.c】
void HalTimerTick (void)
{
if (!halTimerRecord[HW_TIMER_1].intEnable)
{
halProcessTimer1 ();
//处理TIMER1事件
void halProcessTimer1 (void)
{
if (halTimerRecord[halTimerRemap(HAL_TIMER_3)].channelMode == HAL_TIMER_CH_MODE_OUTPUT_COMPARE)
//处理通道模式为输出比较时的情况
{
if (T1CTL T1CTL_CH0IF)
//检查通道0中断标志看是否达到设定的中断要求
{
T1CTL = ~(T1CTL_CH0IF);
//清除中断标志
halTimerSendCallBack (HAL_TIMER_3, HAL_TIMER_CHANNEL_A, HAL_TIMER_CH_MODE_OUTPUT_COMPARE);
//给回调函数发送回应
void halTimerSendCallBack (uint8 timerId, uint8 channel, uint8 channelMode)
{
uint8 hwtimerid;
hwtimerid = halTimerRemap (timerId);
if (halTimerRecord[hwtimerid].callBackFunc)
(halTimerRecord[hwtimerid].callBackFunc) (timerId, channel, channelMode);
}
}
if (T1CTL T1CTL_CH1IF)
{
T1CTL = ~(T1CTL_CH1IF);
halTimerSendCallBack (HAL_TIMER_3, HAL_TIMER_CHANNEL_B, HAL_TIMER_CH_MODE_OUTPUT_COMPARE);
}
if (T1CTL T1CTL_CH2IF)
{
T1CTL = ~(T1CTL_CH2IF);
halTimerSendCallBack (HAL_TIMER_3, HAL_TIMER_CHANNEL_C, HAL_TIMER_CH_MODE_OUTPUT_COMPARE);
}
}
else if (halTimerRecord[halTimerRemap(HAL_TIMER_3)].channelMode == HAL_TIMER_CH_MODE_OVERFLOW)
{
if (T1CTL T1CTL_OVFIF)
{
T1CTL = ~(T1CTL_OVFIF);
halTimerSendCallBack (HAL_TIMER_3, HAL_TIMER_CHANNEL_SINGLE, HAL_TIMER_CH_MODE_OVERFLOW);
}
}
}
}
if (!halTimerRecord[HW_TIMER_3].intEnable)
{
halProcessTimer3 ();
}
if (!halTimerR
您可能关注的文档
- 1.不属于防治骨质疏松的药物是.doc
- 1.某电子产品公司的组织结构如图2-1-1所示,总经理对公司的.doc
- 1.研究发现,脂溶性物质能够优先通过细胞膜,细胞膜会被溶.doc
- 1、仁者爱人、四海之内皆兄弟,体现了我国传统文.doc
- 1例先天性食管闭锁伴食管气管瘘新生儿的胃造瘘管的观察和.docx
- 1教学过程质量监控机制.doc
- 2.主动探索发现利用一张纸使小球稳定的方法。3.能积极.ppt
- 2006年重庆市水稻区试A组结果.doc
- 2009年天津医科大学总医院医疗质量万里行活动方案.doc
- 2010年柠檬酸(盐)出口许可.doc
- 英语人教PEP版八年级(上册)Unit4+writing+写作.pptx
- 人美版美术四年级(上册)8 笔的世界 课件 (1).pptx
- 人美版美术七年级(上册)龙的制作.pptx
- 英语人教PEP版六年级(上册)Unit 2 第一课时.pptx
- 数学苏教版三年级(上册)3.3 长方形和正方形周长的计算 苏教版(共12张PPT).pptx
- 音乐人教版八年级(上册)青春舞曲 课件2.pptx
- 音乐人教版四年级(上册) 第一单元 音乐知识 附点四分音符|人教版.pptx
- 英语人教PEP版四年级(上册)Unit 6 Part B let's learn 1.pptx
- 道德与法治人教版二年级(上册)课件-3.11大家排好队部编版(共18张PPT).pptx
- 人美版美术七年级(上册)《黄山天下奇》课件1.pptx
最近下载
- SX-22163-QR525供应商停止供货通知.docx VIP
- 2024年新大象版四年级上册科学全册知识点(炫彩版).doc
- 青岛市城市介绍旅游攻略实用PPT讲授课件.pptx
- 新人教pep三年级上册Unit2 Different families PartA talk &learn 课件.ppt
- 【核心素养】4.1 陆地与海洋 第二课时 课件(共49张PPT) 七年级地理上学期商务星球版(2024).pptx VIP
- 中华商业文化 教案.docx
- KTM 2019款 390 DUKE 摩托车 中文用户保养手册 使用说明书.doc
- OWC11控件的安装.doc
- 【部编人教版】三年级道德与法治上册全册课件.pptx
- 合作协议(技师).docx VIP
文档评论(0)