串口接受中断中能否发信号量OSSemPost(task1_Sem); LPC1768串口接受中断
时间:10-02
整理:3721RD
点击:
想在LPC1768串口接受中断中给任务1发一个信号量,让程序跑转到任务1执行。
以下是接受完一帧数据,crc校验以后发的信号量
if(SRBuf0[RcvCounter-1] == LOW(TempCrc))
{
UartStatus=0;
RcvCounter=0;
Uart2ReceiveFinish=1;
Uart2ReceiveFinish2=1;
OSSemPost(task1_Sem);
}
发现在串口接受中断中发信号量,程序就会死在发信号量的地方,进而进入一个死循环中
;---------------------------------------------------------------------------------------------------------
;--- 不可屏蔽异常处理程序,进入死循环----------------------------------------------------------
;--- NMI Exception Handlers (infinite loops which can be modified) ------------------------------
;---------------------------------------------------------------------------------------------------------
BusFault_Handler\
PROC
EXPORT BusFault_Handler [WEAK]
B .
ENDP
以下是接受完一帧数据,crc校验以后发的信号量
if(SRBuf0[RcvCounter-1] == LOW(TempCrc))
{
UartStatus=0;
RcvCounter=0;
Uart2ReceiveFinish=1;
Uart2ReceiveFinish2=1;
OSSemPost(task1_Sem);
}
发现在串口接受中断中发信号量,程序就会死在发信号量的地方,进而进入一个死循环中
;---------------------------------------------------------------------------------------------------------
;--- 不可屏蔽异常处理程序,进入死循环----------------------------------------------------------
;--- NMI Exception Handlers (infinite loops which can be modified) ------------------------------
;---------------------------------------------------------------------------------------------------------
BusFault_Handler\
PROC
EXPORT BusFault_Handler [WEAK]
B .
ENDP
系统是ucosii系统。
