STM8S和STM8L调试串口中断的注意点
Posted mcumagic
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STM8S和STM8L调试串口中断的注意点相关的知识,希望对你有一定的参考价值。
1. STM8L串口中断注意点
在调试PM2.5传感器GP2Y1051的时候,发现在仿真的时候开始能够进行数据的接受,但是如果暂停之后就不能接受数据,其实只是接收了一次完整的数据。
问题程序
解决方法
if(USART_GetITStatus(USART1, USART_IT_RXNE))
{
RecevieData = USART_ReceiveData8(USART1);
switch(state_machine)
2. STM8S串口中断注意点
征对STM8S003F3或者103系列等单片机,由于其余其他单片机不一样,串口接收中断中有ORE,即过载错误,收中断;如图:
故需要在串口接收中断中做如下处理:
if(UART2->SR & UART2_SR_OR)
{
UART2->SR &= ~UART2_SR_OR;
UART2->SR &= ~UART2_SR_RXNE;
u8RevDat=UART2_ReceiveData8();
}
else
u8RevDat=UART2_ReceiveData8();
RecevieData = u8RevDat;
以上是关于STM8S和STM8L调试串口中断的注意点的主要内容,如果未能解决你的问题,请参考以下文章
STM8S单片机串口UART2接收中断一直在运行,出不来,怎么回事?