迪文科技论坛

 找回密码
 立即注册
搜索
查看: 2551|回复: 11

【提问】T5L采用printf作为串口调试输出口

[复制链接]

4

主题

10

回帖

115

积分

注册会员

Rank: 2

积分
115
发表于 2019-7-23 17:35:29 | 显示全部楼层 |阅读模式
把串口5设置为串口调试输出口。字符串可以正常输出,但只要是格式化输出变量就会有异常,值不正确。如下:
代码:
unsigned char counter=20;
printf("time :%s\r\n",__TIME__);
printf("printf char :%bd\r\n",counter);

printf("printf char :%bu\r\n",counter);
printf("printf char :%bx\r\n",counter);

串口输出:
time :16:55:00
printf char :3
printf char :3
printf char :3


counter是错误的,应该是20.
请问是哪里出错了?
回复

使用道具 举报

4

主题

134

回帖

2885

积分

金牌会员

Rank: 6Rank: 6

积分
2885
发表于 2019-7-24 11:11:27 | 显示全部楼层
试下格式%hhu
回复

使用道具 举报

0

主题

7

回帖

340

积分

中级会员

Rank: 3Rank: 3

积分
340
发表于 2019-7-24 12:41:43 | 显示全部楼层
您好!请您在printf("printf char :%bd\r\n",counter); 之前再加1句counter=20;测试看下效果。
回复

使用道具 举报

4

主题

10

回帖

115

积分

注册会员

Rank: 2

积分
115
 楼主| 发表于 2019-7-24 17:27:00 | 显示全部楼层

不行,输出变为842
回复

使用道具 举报

4

主题

10

回帖

115

积分

注册会员

Rank: 2

积分
115
 楼主| 发表于 2019-7-24 17:30:40 | 显示全部楼层
01524213 发表于 2019-7-24 12:41
您好!请您在printf("printf char :%bd\r\n",counter); 之前再加1句counter=20;测试看下效果。 ...

厉害了,在前面赋值了,就正常了。这是为什么???
回复

使用道具 举报

4

主题

10

回帖

115

积分

注册会员

Rank: 2

积分
115
 楼主| 发表于 2019-7-24 18:17:38 | 显示全部楼层
weson 发表于 2019-7-24 17:30
厉害了,在前面赋值了,就正常了。这是为什么???

变量声明后,在INIT_CPU() 之后变量会被改变,必须得在INIT_CPU之后再重新赋值。还不知道为什么INIT_CPU()是做了什么导致内存发生变化?
回复

使用道具 举报

0

主题

7

回帖

340

积分

中级会员

Rank: 3Rank: 3

积分
340
发表于 2019-7-29 14:53:32 | 显示全部楼层
本帖最后由 01524213 于 2019-7-29 14:54 编辑

您好!请使用附件中的STARTUP.A51启动代码,替换掉默认的启动文件,在main函数之前将芯片底层状态配置好。同时在INIT_CPU()中需要去掉对以下这7个寄存器的设置(启动文件中已配置)。CKCON/T2CON/DPC/PAGESEL/D_PAGESEL/MUX_SEL/RAMMODE。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

4

主题

10

回帖

115

积分

注册会员

Rank: 2

积分
115
 楼主| 发表于 2019-7-30 09:36:37 | 显示全部楼层
01524213 发表于 2019-7-29 14:53
您好!请使用附件中的STARTUP.A51启动代码,替换掉默认的启动文件,在main函数之前将芯片底层状态配置好。 ...

谢谢!已经正常!
回复

使用道具 举报

0

主题

1

回帖

39

积分

新手上路

Rank: 1

积分
39
发表于 2020-9-11 20:50:57 | 显示全部楼层
weson 发表于 2019-7-30 09:36
谢谢!已经正常!

请问你是怎么解决的呢?我这边替换了startup启动代码也不行
回复

使用道具 举报

45

主题

254

回帖

3557

积分

论坛元老

Rank: 8Rank: 8

积分
3557
发表于 2020-9-22 19:17:07 | 显示全部楼层
请修改printf的代码,默认的代码不适用所有平台
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|迪文科技论坛 ( 京ICP备05033781号-1 )

GMT+8, 2025-4-4 13:15 , Processed in 0.032141 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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