方法一(用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()在自己编写的函数内循环调用