你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。
chrome
firefox
safari
ie8及以上
ST
意法半导体官网
STM32
中文官网
ST
全球论坛
登录/注册
首页
技术问答
话题
资源
创客秀
视频
标签
积分商城
每日签到
串口通信,用printf还是USART_SendData?
[复制链接]
lucky67
提问时间:2013-12-6 10:32 /
打算做一个串口通信的东西,纠结于用printf方式还是USART_SendData来发送指令。
请教前辈们,printf与USART_SendData哪种方式的效率,稳定性高?生成的代码比较小?各有什么优缺点?
赞
0
收藏
0
评论
10
分享
发布时间:2013-12-6 10:32
举报
请先
登录
后回复
10个回答
fengye5340
回答时间:2013-12-6 11:12:11
a0a.1 0b0c
RE:串口通信,用printf还是USART_SendData?
1、printf和 USART_SendData稳定性都很高。
前者实现格式化字符,字符串比较有优势,后者传送单个字符和指令比较合适。
2、在复杂的串口通信协议实现中,建议printf()用作大文本及信息显示。
涉及自定义帧头+校验的通信时,用USART_SendData实现单字符及控制命令。
3、这两个占用代码量非常小,可以忽略,除非在FLASH严格的场合,目前ST的产品FLASH容量都足够大
赞
0
评论
回复
支持
反对
lucky67
回答时间:2013-12-6 11:16:54
a0a.1 0b0c
RE:串口通信,用printf还是USART_SendData?
这么说来,用来做AT指令发送,用printf会方便多了?
如果用USART_SendData的话,要先把所有AT指令做成字符串数组,确实也够麻烦。
赞
0
评论
回复
支持
反对
风华正茂0314
回答时间:2013-12-6 12:47:59
a0a.1 0b0c
回复:串口通信,用printf还是USART_SendData?
printf比较方便、、、
赞
0
评论
回复
支持
反对
feiante-155820
回答时间:2013-12-6 15:19:59
a0a.1 0b0c
RE:串口通信,用printf还是USART_SendData?
我一般使用printf显示文本。如果是要进行数据通信时,使用的是USART_SendData
赞
0
评论
回复
支持
反对
dzc2001
回答时间:2013-12-6 16:51:01
a0a.1 0b0c
RE:串口通信,用printf还是USART_SendData?
如果都发往串口,printf是用USART_SendData实现的putc
赞
0
评论
回复
支持
反对
有缘于你
回答时间:2013-12-6 22:26:46
a0a.1 0b0c
RE:串口通信,用printf还是USART_SendData?
printf 比USART_SendData 使用方便
USART_SendData 比printf 代码小
赞
0
评论
回复
支持
反对
深秋独影
回答时间:2013-12-7 08:24:53
a0a.1 0b0c
RE:串口通信,用printf还是USART_SendData?
printf效率高,稳定性都好, USART_SendData生成的代码比较小
赞
0
评论
回复
支持
反对
wkuang
回答时间:2013-12-7 21:10:16
a0a.1 0b0c
RE:串口通信,用printf还是USART_SendData?
1、如果用作调试和串口打印,建议使用printf,这是有标准C语言定义的库函数,其稳定性、兼容性和便利性都很高。 但是它归根究底是调用USART_SendData,因此效率会稍微低一点,且编译的文件会将标准库函数都编译进去(因为调用了标准库函数的头问价,编译时其编译依赖关系要求编译真个库文件)。
2、如果是串口传送文件,或者频繁做数传,建议直接USART_SendData,效率更高,或者封装成一个函数专门做个特性的发送/接受功能,效率更高,
赞
0
评论
回复
支持
反对
stary666
回答时间:2015-8-13 23:12:12
a1024a.1 0b0c
看看,,,,,,,,,,,,
赞
0
评论
回复
支持
反对
星辰一方
回答时间:2015-8-14 08:23:06
a1024a.1 0b0c
二楼正解~!
赞
0
评论
回复
支持
反对
所属标签
相似问题
关于
意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号
手机版
快速回复
返回顶部
返回列表
RE:串口通信,用printf还是USART_SendData?
前者实现格式化字符,字符串比较有优势,后者传送单个字符和指令比较合适。
2、在复杂的串口通信协议实现中,建议printf()用作大文本及信息显示。
涉及自定义帧头+校验的通信时,用USART_SendData实现单字符及控制命令。
3、这两个占用代码量非常小,可以忽略,除非在FLASH严格的场合,目前ST的产品FLASH容量都足够大
RE:串口通信,用printf还是USART_SendData?
如果用USART_SendData的话,要先把所有AT指令做成字符串数组,确实也够麻烦。
回复:串口通信,用printf还是USART_SendData?
RE:串口通信,用printf还是USART_SendData?
RE:串口通信,用printf还是USART_SendData?
RE:串口通信,用printf还是USART_SendData?
USART_SendData 比printf 代码小
RE:串口通信,用printf还是USART_SendData?
RE:串口通信,用printf还是USART_SendData?
2、如果是串口传送文件,或者频繁做数传,建议直接USART_SendData,效率更高,或者封装成一个函数专门做个特性的发送/接受功能,效率更高,