这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » 软件与操作系统 » 我的uC/OS-II,我的读书笔记之中断服务示例源程序

共1条 1/1 1 跳转至

我的uC/OS-II,我的读书笔记之中断服务示例源程序

院士
2013-03-20 22:31:09     打赏


我的uC/OS-II,我的读书笔记之中断服务示例源程序

昨天看了中断服务的示例,今天又学习了信号量的使用,于是晚上使用简单的方式进行了实现。附件里为一份IAR的工程文件,供大家参考交流。

程序建立了一个任务app_taskBlink控制LED灯的闪烁,开启了timer0的中断,每秒产生一个中断,并在中断里释放一个信号量。源代码如下所示:

void Timer0AHandler(void)

{

  OSIntEnter();

  OSSemPost(LedSem);

  TimerIntClear(TIMER0_BASE, TIMER_TIMA_TIMEOUT);

  OSIntExit();

}

在任务里面,使用了OSSemPend函数阻塞,等待信号量的到来。源代码如下:

while(1)

{

      OSSemPend(LedSem, 0, &err);

      BSP_LED_On();

      OSTimeDlyHMSM(0, 0, 0, 50);

      BSP_LED_Off();

}

我们再来看一下调试效果图:



开发板上的小LED灯每秒闪亮一下,很是耀眼~~




关键词: ucosii     中断     信号量    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]