2019-10-15 08:06发布
1201yuge 发表于 2016-3-7 11:01 一样的进入中断,进入中断时加上OSIntEnter(); 退出中断时加上OSIntExit(); 即可。
逆光飞行 发表于 2016-3-7 12:17 谢谢您! 那比如我要处理串口接收,以前都是在中断服务程序中进行,移植系统后呢?还是在中断服务程序中 ...
1201yuge 发表于 2016-3-7 12:29 void USART6_IRQHandler(void) //串口1中断服务程序 { u8 Res;
最多设置5个标签!
谢谢您!
那比如我要处理串口接收,以前都是在中断服务程序中进行,移植系统后呢?还是在中断服务程序中进行还是创建一个任务?如果还是在中断服务函数中进行,那移植系统的意义何在呢?
请赐教
void USART6_IRQHandler(void) //串口1中断服务程序
{
u8 Res;
#ifdef OS_TICKS_PER_SEC //如果时钟节拍数定义了,说明要使用ucosII了.
OSIntEnter();
#endif
if(USART_GetITStatus(USART6, USART_IT_RXNE) != RESET) //接收中断(接收到的数据必须是0x0d 0x0a结尾)
{
Res =USART_ReceiveData(USART6);//(USART1->DR); //读取接收到的数据
send(Res);
}
#ifdef OS_TICKS_PER_SEC //如果时钟节拍数定义了,说明要使用ucosII了.
OSIntExit();
#endif
}
那这个串口中断优先级和是时钟节拍systick中断优先级还有那个pendsv 中断优先级是什么关系呢?
一周热门 更多>