你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F051使用串口中断接收只能接收到第一位数据,后面的...

[复制链接]
snyanglq 提问时间:2014-11-4 14:29 /
阅读主题, 点击返回1楼
收藏 评论21 发布时间:2014-11-4 14:29
21个回答
回答时间:2014-11-21 09:16:12
中断中为什么要加延时啊?中断中不要有太多的处理,简单发送或者接收,在外部对这些数据缓冲区进行处理。
snyanglq 回答时间:2014-11-21 13:38:34
那片清茶 发表于 2014-11-21 08:51
你用查询发送,中断接收试试。。。

也试过,还是不行
snyanglq 回答时间:2014-11-21 13:41:19
安 发表于 2014-11-21 09:16
中断中为什么要加延时啊?中断中不要有太多的处理,简单发送或者接收,在外部对这些数据缓冲区进行处理。 ...

这个不碍事,主要是不加延时会丢包
回答时间:2014-11-21 14:04:07
怎么会丢包呢?正常收发是不会发生该问题的.
小贾-370388 回答时间:2014-11-29 12:00:53
你怎么知道一定是接收到了命令的 第一个字节的0xf5啊 ,你的命令最后一个字节也是0XF5啊,会不会是你的接收缓存被冲掉了,只剩下了最后一个受到的数啊 ,a变量时不是有问题?看看定义位置,还有事不是别处也调用了
starlyc 回答时间:2014-11-29 12:36:32
先调低发送速度看一下。
snyanglq 回答时间:2014-12-3 16:45:30
安 发表于 2014-11-21 14:04
怎么会丢包呢?正常收发是不会发生该问题的.

你可以试试,就跟串口调试助手不加延时都会丢包,不过还是谢谢你,参考了你的意见,我把最后的一次延时去掉就可以,
snyanglq 回答时间:2014-12-3 16:49:07
小贾-370388 发表于 2014-11-29 12:00
你怎么知道一定是接收到了命令的 第一个字节的0xf5啊 ,你的命令最后一个字节也是0XF5啊,会不会是你的接收 ...

谢谢你的回答,这个值我仿真看到的,不关a的事,如果a的问题,我跟串口调试助手时调试也不行啊,不过问题找到了,只要将最后一次延时去掉就可以
回答时间:2014-12-4 11:23:09
中断中收到数据就放到缓冲区,另外注意看一下接收溢出标志位,是不是发生溢出,没有及时清掉溢出标志位。
snyanglq 回答时间:2015-1-27 13:48:23
安 发表于 2014-12-4 11:23
中断中收到数据就放到缓冲区,另外注意看一下接收溢出标志位,是不是发生溢出,没有及时清掉溢出标志位。 ...

谢谢你,这个溢出清除后来调试为了保稳也加上了,现在问题解决了

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版