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

STM32的串口无FIFO真是一大败笔  

[复制链接]
abc_in_china 提问时间:2017-1-10 09:55 /
阅读主题, 点击返回1楼
收藏 1 评论29 发布时间:2017-1-10 09:55
29个回答
moyanming2013 回答时间:2017-1-12 15:17:41
morecool 发表于 2017-1-12 13:11
頻繁的中斷對於資源的開銷是比較大的,特別是高波特率和數據量較大的情況下更為突出。
FIFO模塊存在于串 ...

FIFO下的“中断+查询”或进入中断后的接收数据,为了避免事故或保证数据完整性,可能会关闭其它中断,此时就是在占用总线--串口的速率还是非常低效的而占用了高效的总线。
FIFO总是需要中断的,高频中断下FIFO也会显得“力不从心”,此时DMA自然是最好的选择。
FIFO有些显得“高不成低不就”,如鸡肋,干脆去掉了。

点评

DMA虽然可以解决这个问题,但是DMA用起来麻烦多了  发表于 2017-1-14 13:44
FIFO在于当系统不能及时处理串口中断的时候缓存数据,波特率高的时候几十微秒就会来一个字节的数据,如果系统此时有不能被打断的任务在运行则会  发表于 2017-1-14 13:43
lzts 回答时间:2017-1-13 19:29:14
我就不投票了.有也可,没有也行(反正软件也可解决).远远达不到败笔的程度
zbber 回答时间:2017-1-13 20:19:22
我觉得芯片只是个工具,既然你选择了这样的工具,就要去灵活应用它
五哥1 回答时间:2017-1-14 14:22:24
我看木有必要
cldym 回答时间:2017-1-15 13:10:09
多一个fifo会更好,使用更方便;
无薪税绵 回答时间:2017-1-15 21:30:45
支持有DMA已经足够了。
中山无雪 回答时间:2017-1-15 22:19:58
现在在各家的MCU中不带FIFO的比较少,而且从技术角度而言加一个FIFO没什麽难道,成本也没多少

虽然DMA用起来也比较方便,但是还是没有FIFO方便
风子 回答时间:2017-1-15 22:21:01
有当然好,没有的话用DMA完全能够解决,没有最大败笔那么夸张
队长shiwo 回答时间:2017-1-17 09:06:34
FIFO和DMA哪个好用就用哪个呗,反正够用就行
Tcreat 回答时间:2017-1-17 09:25:38
只能说你们操的心真多 ~~
maisheng 回答时间:2017-3-7 15:19:49
原来lpc1758用习惯了,因为项目需要,最近第一次用stm32。发现没有fifo的uart确实不太方便,外部数据发送稍快就容易丢失数据,比如用串口助手一次传入100个字节试试,如果接收过程中有其它任务中断了传输序列,就会丢数,如果有16字节的fifo确实能缓解这个问题。没办法,准备试试dma。
zhao.zhao 回答时间:2017-3-11 10:54:41
moyanming2013 发表于 2017-1-10 15:35
1.FIFO也有软件复杂度,对新手来说DMA更加具有普适性。对老手来说你总得该学点新东西了。
2.软件实现FIFO的 ...

,我支持你的观点
12

所属标签

相似问题

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