lucky67 发表于 2013-12-6 10:32:58

串口通信,用printf还是USART_SendData?

打算做一个串口通信的东西,纠结于用printf方式还是USART_SendData来发送指令。
请教前辈们,printf与USART_SendData哪种方式的效率,稳定性高?生成的代码比较小?各有什么优缺点?

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

看看,,,,,,,,,,,,
页: [1] 2
查看完整版本: 串口通信,用printf还是USART_SendData?