中级会员
 
- 积分
- 236
- 金钱
- 236
- 注册时间
- 2015-12-7
- 在线时间
- 59 小时
|
20金钱
本帖最后由 包子 于 2016-10-25 14:47 编辑
刚刚开始接触ucosiii. 把ucosiii移植了后,就直接去用原子的ucos程序了 今天刚刚看了任务创建 删除 挂起 恢复. 发现前面几个都是led的任务.
感觉就是变成了很多个裸奔的小伙伴在里面跑...然后想把之前学的都慢慢挂进去练习.然后遇到了问题....
我想在中断服务函数里面做点事. 请问如何正确的使用.
看了原子的usart。c函数里面 的中断服务是这样子的 我的板子是原子的STM32F429
void USART1_IRQHandler(void)
{
#if SYSTEM_SUPPORT_OS
OSIntEnter();
#endif
··································需要执行的事件
#if SYSTEM_SUPPORT_OS
OSIntExit();
#endif
}
然后我照猫画虎,只创建了一个任务.
大概目的:原子的第7个实验:定时器中断实验 . 只是这里任务每9秒反转一次TIM2的CR1, 反转CR1 为1时,定时器每1秒就会闪烁一次这个led
(这个中断我用裸奔先写了一个没问题的)
void TIM2_IRQHandler(void)
{
#if SYSTEM_SUPPORT_OS
OSIntEnter();
#endif
if(TIM2->SR&0X0001)
{
LED1=!LED1;
}
TIM2->SR&=~(1<<0);
#if SYSTEM_SUPPORT_OS
OSIntExit();
#endif
}
Ucos下的通用寄存器中断使用,谁能简短说说或者上传一份简单的通用定时器例子看看么.= - =
老不进去有点蛋疼.裸奔的倒是进去了.
|
|