打印
[STM32F1]

stm32f103 串口接收问题

[复制链接]
1088|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

粉丝