找回密码
 立即注册
查看: 1381|回复: 6

STC32G12K128 printf 怪异事件

[复制链接]

1

主题

0

回帖

5

积分

新手上路

积分
5
发表于 2022-12-7 15:44:07 | 显示全部楼层 |阅读模式
//配置好了串口2


//定义了串口发送函数

void SendByte(u8 dat)
{
        S2TI=0;
        S2BUF = dat;
        while(!S2TI);
}



void sendstr(char *str) //发送字符串函数
{
        while(*str!='\0')
                {SendByte(*str++);}
}


u8 test[]="1234abcd"
这些函数再其他 STC 8位机上一直没有问题,正常使用。
只是到 STC32G 下回发生问题
sendstr(tset);//这样是可以正确发送的。
sendstr("1234abdd");//这样发送出去的数据完全不对,感觉是指针不知道指到哪里去了。
这个问题导致  printf  函数同样也是输出乱码……

有遇到同样的问题吗?
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2025-05-01 09:07:55

717

主题

1万

回帖

1万

积分

管理员

积分
15611
发表于 2022-12-7 16:38:56 | 显示全部楼层
用 STC32G数据手册中的 串口1,2,3,4的测试程序先测试下 https://www.stcai.com/filedownload/635668
  • 打卡等级:以坛为家II
  • 打卡总天数:415
  • 最近打卡:2025-04-30 09:58:34
已绑定手机

39

主题

2006

回帖

6841

积分

论坛元老

积分
6841
发表于 2022-12-7 17:23:10 | 显示全部楼层
我参考你的方法写了个例程,测试没有问题,你参考一下。
烧录时IRC主频设置24MHz,串口波特率:115200.


printf.jpg


串口打印-STC32G.zip (16.68 KB, 下载次数: 152)
  • 打卡等级:偶尔看看III
  • 打卡总天数:38
  • 最近打卡:2025-04-30 14:38:57

25

主题

977

回帖

3599

积分

超级版主

积分
3599
发表于 2022-12-8 09:15:30 | 显示全部楼层
由于使用printf函数的参数里面包含了字符串指针
所以存储器模式必须选择4字节,如下图所示一定要选择后面3中模式中的一种

微信截图_20221208091206.png

0

主题

1

回帖

8

积分

新手上路

积分
8
发表于 2024-10-27 15:38:47 | 显示全部楼层
zh*** 发表于 2022-12-8 09:15
由于使用printf函数的参数里面包含了字符串指针
所以存储器模式必须选择4字节,如下图所示一定要选择后面3 ...

谢谢大神,原因写得也很详细
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:198
  • 最近打卡:2025-05-01 00:16:05
已绑定手机

24

主题

345

回帖

1629

积分

金牌会员

积分
1629
发表于 2024-10-28 08:32:37 | 显示全部楼层
zh*** 发表于 2022-12-8 09:15
由于使用printf函数的参数里面包含了字符串指针
所以存储器模式必须选择4字节,如下图所示一定要选择后面3 ...

感谢大佬,我也学到了。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:321
  • 最近打卡:2025-05-01 21:04:13
已绑定手机

21

主题

487

回帖

1027

积分

金牌会员

积分
1027
发表于 2025-1-22 15:35:35 | 显示全部楼层
细节问题,我又学了一个技巧
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-1 23:47 , Processed in 0.123037 second(s), 104 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表