用库函数开发,串口乱码,头疼2天了,printstring1乱码
PrintString1("STC GOD\r\n");//显示超字符串数的乱码
//使用数组
char Str1="hello";
PrintString1("Str1");
//则正常打印
STC32G_UART.C文件内
void PrintString1(u8 *putgs)
{
for (; *putgs != 0;putgs++) //遇到停止符0结束
{
//TX1_write2buff(*putgs);
SBUF=*putgs;
COM1.B_TX_busy = 1; //标志忙
while(COM1.B_TX_busy);
}
}
感觉用printstring1("STC")参数是字面字符,就像是没找到停止符,但是也不应该乱码,最起码要显示STC然后接着乱码
可能是波特率没设置好
根据图片提供的代码片段,已在 32G12K128-屠龙刀开发板测试验证通过:
测试代码截图:
测试程序:
建议使用vsprintf
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=4598 本帖最后由 haiyang201 于 2024-8-17 11:02 编辑
不会有乱码啊你是哪里设置不对呢?? haiyang201 发表于 2024-8-17 11:01
不会有乱码啊你是哪里设置不对呢??
主要是用数组就能发出去,printstring1参数里写字符串就不行,我真心不能理解。用它们测试的代码都正常 布丁橘长 发表于 2024-8-17 02:51
可能是波特率没设置好
根据图片提供的代码片段,已在 32G12K128-屠龙刀开发板测试验证通过:
问题解决了,
方法:keil软件中→魔术棒→target→Memory Model:选择→Xsmall haiyang201 发表于 2024-8-17 11:01
不会有乱码啊你是哪里设置不对呢??
问题解决了,
方法:keil软件中→魔术棒→target→Memory Model:选择→Xsmall 同样遇到串口乱码问题
页:
[1]