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

关于STM32F030F4P6 串口接收发送问题

[复制链接]
su-409464 提问时间:2018-3-7 08:52 /
阅读主题, 点击返回1楼
收藏 评论22 发布时间:2018-3-7 08:52
22个回答
su-409464 回答时间:2018-3-7 11:58:49
安 发表于 2018-3-7 11:42
中断产生后需要自己去把数据收到缓冲区,如果不收,这样就容易导致溢出。所有处理都是自己写代码解决。如果 ...

谢谢你!

DMA  的工作机制 是  接收到指定数量后会产生DMA中断????

那这样的不合适, 比如对应接收不定长 字符串的时候,    这个指定数量 就麻烦了。

可能接收了 其中的一般,  也可能接收了  未达到指定数量~~~~

wudianjun2001 回答时间:2018-3-7 12:55:17
中断标志好像没清除吧
还有一般不要在中断里发送数据,收到后到缓冲区,然后在主循环里发

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

好心情123 回答时间:2018-3-7 12:57:04
是接收中断溢出问题,我也碰到了同样的问题,找了很久才发现,默认中断溢出是打开的,可以初始化的时候关闭掉

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

anobodykey 回答时间:2018-3-7 13:59:15
su-409464 发表于 2018-3-7 11:28
好的明白!
这样的话 关于软件缓存的动作我就有一个 疑问;

你要相信MCU的速度是很快的M级别的,而串口的速度是很慢的一般处于K级别,你处理完第一个字节时,第二个字节都有可能还没来到总线上呢,软件做的好的话一般不会出现你说的断节现象
su-409464 回答时间:2018-3-7 14:54:06
好心情123 发表于 2018-3-7 12:57
是接收中断溢出问题,我也碰到了同样的问题,找了很久才发现,默认中断溢出是打开的,可以初始化的时候关闭 ...

我没有修改初始化 将中断溢出 关闭,  我参考这个  ,在中断接收函数中 清中断标志位 和中断接收溢出位
http://bbs.21ic.com/icview-160999-1-1.html
su-409464 回答时间:2018-3-7 14:55:35
wudianjun2001 发表于 2018-3-7 12:55
中断标志好像没清除吧
还有一般不要在中断里发送数据,收到后到缓冲区,然后在主循环里发 ...

http://bbs.21ic.com/icview-160999-1-1.html

只要清中断标志位就行吗? 中断接收溢出位呢?
无薪税绵 回答时间:2018-3-7 15:03:19
本帖最后由 无薪税绵 于 2018-3-7 15:06 编辑

串口处理速度跟你的波特率有关系。

比如:
波特率115200 = 115200 (位/秒)
如果没有校验位,就应该除以 10,得到的是每秒字节数:
波特率115200 = 115200 (位/秒) = 11520 (字节/秒)
再除以 1024,就是每秒 KB 数:
波特率115200 = 115200 (位/秒) = 11.25 (KB/秒)

如果有一位奇偶校验位,就应该除以 11,得到的是每秒字节数。
波特率115200 = 115200 (位/秒) = 10.27 (KB/秒)

另外:
串口发送数据,不建议直接使用字符串,除非你传输的内容只有几个符。
一般要求使用数组来传送,比如先定义100字节长的数组,
每次只传100字节,传完了,再传剩下的100字节。
否则有可能会因串口传数据时占用时间过长,导致其它不稳定因素。
而且,使用数组传送,可以避免字符串中包含汉字或者全角字符,导致溢出的问题。


评分

参与人数 1蝴蝶豆 +4 收起 理由
zero99 + 4

查看全部评分

butterflyspring 回答时间:2018-3-7 15:25:31
你应该看看串口发送的接口函数,有根据长度的,有根据timeout的,如果你的长度不定,什么时候发送随机,那么你就要修改串口接收的接口了.如果你接收函数的长度size写的是4,但是你发的是5个byte,你下一次就会出现busy的情况,你就要请一下标志位了..

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

12

所属标签

相似问题

官网相关资源

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