首页 > 代码库 > STM8S和STM8L调试串口中断的注意点
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;
来自为知笔记(Wiz)
STM8S和STM8L调试串口中断的注意点
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。