1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
打算做一个串口通信的东西,纠结于用printf方式还是USART_SendData来发送指令。
请教前辈们,printf与USART_SendData哪种方式的效率,稳定性高?生成的代码比较小?各有什么优缺点? |
|
相关推荐
10个回答
|
|
1、printf和 USART_SendData稳定性都很高。
前者实现格式化字符,字符串比较有优势,后者传送单个字符和指令比较合适。 2、在复杂的串口通信协议实现中,建议printf()用作大文本及信息显示。 涉及自定义帧头+校验的通信时,用USART_SendData实现单字符及控制命令。 3、这两个占用代码量非常小,可以忽略,除非在FLASH严格的场合,目前ST的产品FLASH容量都足够大 |
|
|
|
|
|
|
|
printf比较方便、、、
|
|
|
|
我一般使用printf显示文本。如果是要进行数据通信时,使用的是USART_SendData
|
|
|
|
如果都发往串口,printf是用USART_SendData实现的putc
|
|
|
|
|
|
|
|
printf效率高,稳定性都好, USART_SendData生成的代码比较小
|
|
|
|
1、如果用作调试和串口打印,建议使用printf,这是有标准C语言定义的库函数,其稳定性、兼容性和便利性都很高。 但是它归根究底是调用USART_SendData,因此效率会稍微低一点,且编译的文件会将标准库函数都编译进去(因为调用了标准库函数的头问价,编译时其编译依赖关系要求编译真个库文件)。
2、如果是串口传送文件,或者频繁做数传,建议直接USART_SendData,效率更高,或者封装成一个函数专门做个特性的发送/接受功能,效率更高, |
|
|
|
看看,,,,,,,,,,,,
|
|
|
|
二楼正解~!
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
2105 浏览 1 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1941 浏览 3 评论
4537 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
2084 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
2599 浏览 1 评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 04:51 , Processed in 0.723503 second(s), Total 60, Slave 54 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号