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

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管理
行使您的权利
官方最新发布
13245底部标题123相同标题
12底部标题123相同标题
33333底部标题123相同序号
3435底部标题-无链接
关注我们
st-img 微信公众号
st-img 手机版