clwn.net
当前位置:首页 >> STM8L的usArt中断问题 >>

STM8L的usArt中断问题

最后一句USART_ClearITPendingBit( USART1, USART_IT_RXNE);改为 USART_ITConfig(USART1, USART_IT_RXNE, DISABLE);

不知道你的uart_SendByte(REV);函数实现是不是等待发送完成才返回的,还是立即返回 如果是立即返回,那么后面的清除完标志之后,发送标志会在发送完成之后置位,然后会再进入中断,至于REV仍然存在数据1,大概是因为没有其它的操作覆盖掉数据。

程序从Main进入 1、管脚初始化; 2、时钟初始化; 3、配置芯片的UART模块; 4、死循环一直等待; 5、若有串口数据进来,会触发中断函数,执行中断,把接收到的数据取出来,再通过发送函数发送出去;

关注这个问题

程序看了没什么问题,仿真一下把断点放在for循环里面,看看什么问题。

构建一个二维数组,在接收字符串的时候,当检测接收到“,”时,二维数组换行,这样,你接收到的数据就是: 1(5.0.2), 41.1, 6(5.0.2), 53.1, 11(5.0.2)

最后一句USART_ClearITPendingBit( USART1, USART_IT_RXNE);改为 USART_ITConfig(USART1, USART_IT_RXNE, DISABLE);

路径 = 相对路径 | 绝对路径 XPath路径表达式 = 步进表达式 | 相对路径 "/"步进表达式。 步进表达式=轴 节点测试 谓词

计数是按照接收与发送之和,你直接把间隔设置为5秒。

可能波特率设置与GPRS默认不太匹配的原因吧,而且不要设置太高

网站首页 | 网站地图
All rights reserved Powered by www.clwn.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com