STM32串口发送16进制数据

发布于:2023-07-04 ⋅ 阅读:(317) ⋅ 点赞:(0)

方法一(用printf函数)

下面演示两个示例

//说明:用u8或unsigned char都能正常发送

//示例 1
u8 send1=0x55;
printf("%c",send1);

//示例 2
unsigned char send2=0x55;
printf("%c",send2);

方法二(用固件库)

下面演示两个示例

//说明:用u8或unsigned char都能正常发送

//示例 1
u8 send1=0x55;
USART_SendData(USART1,send1);

//示例 2
unsigned char send2=0x55;
USART_SendData(USART1,send2);

错误的发送方法

下面展示一些 两种错误发送16进制数据的方法

printf("%x",send1);

printf("%d",send1);

这两种发送方式都会导致串口数据异常

总结与建议

建议使用ST官方的固件库来发送16进制数据,就不会存在ASCII码和数据之间存在的乱码情况,例如在比编写发送数组的函数时,就可以用USART_SendData()在自己编写的函数内循环调用


网站公告

今日签到

点亮在社区的每一天
去签到