你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。
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管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
微信公众号
手机版
快速回复
返回顶部
返回列表
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,效率更高,或者封装成一个函数专门做个特性的发送/接受功能,效率更高,