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

串口通信,用printf还是USART_SendData?

[复制链接]
lucky67 提问时间:2013-12-6 10:32 /
打算做一个串口通信的东西,纠结于用printf方式还是USART_SendData来发送指令。
请教前辈们,printf与USART_SendData哪种方式的效率,稳定性高?生成的代码比较小?各有什么优缺点?
收藏 评论10 发布时间:2013-12-6 10:32

举报

10个回答
fengye5340 回答时间:2013-12-6 11:12:11

RE:串口通信,用printf还是USART_SendData?

1、printf和 USART_SendData稳定性都很高。
前者实现格式化字符,字符串比较有优势,后者传送单个字符和指令比较合适。
2、在复杂的串口通信协议实现中,建议printf()用作大文本及信息显示。
涉及自定义帧头+校验的通信时,用USART_SendData实现单字符及控制命令。
3、这两个占用代码量非常小,可以忽略,除非在FLASH严格的场合,目前ST的产品FLASH容量都足够大
lucky67 回答时间:2013-12-6 11:16:54

RE:串口通信,用printf还是USART_SendData?

这么说来,用来做AT指令发送,用printf会方便多了?
如果用USART_SendData的话,要先把所有AT指令做成字符串数组,确实也够麻烦。
风华正茂0314 回答时间:2013-12-6 12:47:59

回复:串口通信,用printf还是USART_SendData?

 printf比较方便、、、
feiante-155820 回答时间:2013-12-6 15:19:59

RE:串口通信,用printf还是USART_SendData?

我一般使用printf显示文本。如果是要进行数据通信时,使用的是USART_SendData
dzc2001 回答时间:2013-12-6 16:51:01

RE:串口通信,用printf还是USART_SendData?

如果都发往串口,printf是用USART_SendData实现的putc
有缘于你 回答时间:2013-12-6 22:26:46

RE:串口通信,用printf还是USART_SendData?

printf 比USART_SendData 使用方便
USART_SendData 比printf 代码小
深秋独影 回答时间:2013-12-7 08:24:53

RE:串口通信,用printf还是USART_SendData?

printf效率高,稳定性都好, USART_SendData生成的代码比较小
wkuang 回答时间:2013-12-7 21:10:16

RE:串口通信,用printf还是USART_SendData?

1、如果用作调试和串口打印,建议使用printf,这是有标准C语言定义的库函数,其稳定性、兼容性和便利性都很高。 但是它归根究底是调用USART_SendData,因此效率会稍微低一点,且编译的文件会将标准库函数都编译进去(因为调用了标准库函数的头问价,编译时其编译依赖关系要求编译真个库文件)。
2、如果是串口传送文件,或者频繁做数传,建议直接USART_SendData,效率更高,或者封装成一个函数专门做个特性的发送/接受功能,效率更高,
stary666 回答时间:2015-8-13 23:12:12
看看,,,,,,,,,,,,
星辰一方 回答时间:2015-8-14 08:23:06
二楼正解~!

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版