找回密码
 立即注册
查看: 822|回复: 3

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  函数同样也是输出乱码……

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

使用道具 举报

该用户从未签到

551

主题

9439

回帖

1万

积分

管理员

积分
14027
发表于 2022-12-7 16:38:56 | 显示全部楼层
用 STC32G数据手册中的 串口1,2,3,4的测试程序先测试下 https://www.stcai.com/filedownload/635668
  • TA的每日心情
    奋斗
    3 小时前
  • 签到天数: 141 天

    [LV.7]常住居民III

    26

    主题

    1338

    回帖

    4165

    积分

    论坛元老

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


    printf.jpg


    串口打印-STC32G.zip (16.68 KB, 下载次数: 90)
  • TA的每日心情
    开心
    4 天前
  • 签到天数: 16 天

    [LV.4]偶尔看看III

    16

    主题

    719

    回帖

    2562

    积分

    超级版主

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

    微信截图_20221208091206.png
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

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

    GMT+8, 2024-5-15 12:41 , Processed in 0.060310 second(s), 43 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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