串口通信,用printf还是USART_SendData?
打算做一个串口通信的东西,纠结于用printf方式还是USART_SendData来发送指令。请教前辈们,printf与USART_SendData哪种方式的效率,稳定性高?生成的代码比较小?各有什么优缺点?
RE:串口通信,用printf还是USART_SendData?
1、printf和 USART_SendData稳定性都很高。前者实现格式化字符,字符串比较有优势,后者传送单个字符和指令比较合适。
2、在复杂的串口通信协议实现中,建议printf()用作大文本及信息显示。
涉及自定义帧头+校验的通信时,用USART_SendData实现单字符及控制命令。
3、这两个占用代码量非常小,可以忽略,除非在FLASH严格的场合,目前ST的产品FLASH容量都足够大
RE:串口通信,用printf还是USART_SendData?
这么说来,用来做AT指令发送,用printf会方便多了?如果用USART_SendData的话,要先把所有AT指令做成字符串数组,确实也够麻烦。
回复:串口通信,用printf还是USART_SendData?
printf比较方便、、、RE:串口通信,用printf还是USART_SendData?
我一般使用printf显示文本。如果是要进行数据通信时,使用的是USART_SendDataRE:串口通信,用printf还是USART_SendData?
如果都发往串口,printf是用USART_SendData实现的putcRE:串口通信,用printf还是USART_SendData?
printf 比USART_SendData 使用方便USART_SendData 比printf 代码小
RE:串口通信,用printf还是USART_SendData?
printf效率高,稳定性都好, USART_SendData生成的代码比较小RE:串口通信,用printf还是USART_SendData?
1、如果用作调试和串口打印,建议使用printf,这是有标准C语言定义的库函数,其稳定性、兼容性和便利性都很高。 但是它归根究底是调用USART_SendData,因此效率会稍微低一点,且编译的文件会将标准库函数都编译进去(因为调用了标准库函数的头问价,编译时其编译依赖关系要求编译真个库文件)。2、如果是串口传送文件,或者频繁做数传,建议直接USART_SendData,效率更高,或者封装成一个函数专门做个特性的发送/接受功能,效率更高, 看看,,,,,,,,,,,,
页:
[1]
2