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

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管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版