[STM32F1] stm32f103 串口接收问题

[复制链接]
1303|3
 楼主| zhangkuigang 发表于 2014-12-19 16:04 | 显示全部楼层 |阅读模式
在使用DataAvailable接收串口数据时,接收到2个数,但这个函数返回0X80,并且其他发过来的数接不到?不知为什么??知道的大侠救救我!
airwill 发表于 2014-12-19 18:02 | 显示全部楼层
使用DataAvailable接收串口数据, 我好象没有见过这个函数, 是哪里来的代码? 可能里面的返回就是这样定义的吧
不用别人救的, 你自己可以改这个代码, 自救的
mmuuss586 发表于 2014-12-19 19:12 | 显示全部楼层

BAUD率对吗?
代码发上来讨论下;
 楼主| zhangkuigang 发表于 2014-12-20 13:55 | 显示全部楼层
解决了!仔细看了UART_STM32F10X.C,DataAvailable()函数是根据接收数据的IN指针减去数据OUT指针返回串口可利用的字节数的.由于串口接收数据是靠中断进行的,在DataAvailable()函数内部要是产生中断的话,就改写了IN指针,这样就产生DataAvailable()函数判断错误!解决办法是DataAvailable内关闭串口接收中断,退出前打开.谢谢斑竹关注,也希望有同样问题者参考.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

14

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部