STC8H8K64U单片机串口3发送十六进制数组数据
发送十六进制数组数据始终不对
本帖最后由 STC32G12K128 于 2023-5-17 12:02 编辑
楼主试试范例看看:
本帖最后由 tonylgh 于 2023-5-17 12:15 编辑
试了,不行
u8 senddata={1,2,3,4,5};
void PrintString3(u8 *puts)
{
for (; *puts != 0;puts++) //Óöµ½Í£Ö¹·û0½áÊø
{
S3BUF = *puts;
B_TX3_Busy = 1;
while(B_TX3_Busy);
}
}
...
while (1)
{
/*if((TX3_Cnt != RX3_Cnt) && (!B_TX3_Busy)) //ÊÕµ½Êý¾Ý, ·¢ËÍ¿ÕÏÐ
{
S3BUF = RX3_Buffer;
B_TX3_Busy = 1;
if(++TX3_Cnt >= UART3_BUF_LENGTH) TX3_Cnt = 0;
}*/
Delay500ms();
Delay500ms();
PrintString3(senddata);// senddata
}
}
上你原理图的PDF, 大家帮你分析:
或者试下别的串口! STC32G12K128 发表于 2023-5-17 13:14
上你原理图的PDF, 大家帮你分析:
或者试下别的串口!
您好,发送字符串没问题,就是发送十六进制数组不对!另外,STC单片机的源码例程基本相同 如何用PrintString3()发送十六进制数组?谢谢诸位 tonylgh 发表于 2023-5-17 15:44
如何用PrintString3()发送十六进制数组?谢谢诸位
PrintString3()是发送非0的数据,碰到数据0就结束发送,根本不理会是什么数据,发字符串,最终还是16机制的,比如字母A就是0x41,不存在发字符可以,发十六进制不可以的说法,因为最终都是一个字节数据。
可以用STC官方例子测试,将你要发的数据放在数组中,然后调用发送即可,这是非常常用的方法。 谢谢大家,我再试试 试过了,可以!谢谢
页:
[1]