欧芯LKS32MC07
bug:
在写串口发送 互锁事件时
1、
volatile static uint8_t send_flag=1;//send_flag=1为可以发送
while(send_flag!=1);//不能发送就等待
这里一定要加volatile防止while等待时被优化
2、
尽量使用变量标志位来做互斥,尽量不要用这种函数,在中断跳转时容易卡死到while(UART_GetIRQFlag==0); 循环里,可以类似的理解为freertos里的互斥锁
uint32_t UART_GetIRQFlag(UART_TypeDef *UARTx, uint32_t tempFlag)
{
if ((UARTx->IF) & tempFlag & (UARTx->IE)) {
return 1;
}
return 0;
}
