OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 9539|回复: 15

请问为什么我的printf("读出的步长为%d \n",*((u16*)bu_chang));不能正常换行吗

[复制链接]

13

主题

51

帖子

0

精华

初级会员

Rank: 2

积分
95
金钱
95
注册时间
2015-12-28
在线时间
17 小时
发表于 2016-1-5 00:55:14 | 显示全部楼层 |阅读模式
1金钱
                                        delay_ms(200);
                          STMFLASH_Read(FLASH_SAVE_ADDR+0x0006,(u16*)datatemp,SIZE);
                                  delay_ms(200);
                                printf("读出的角度为%d   \n",*((u16*)datatemp));
                                        delay_ms(200);
              STMFLASH_Read(FLASH_SAVE_ADDR+0x0002,(u16*)bu_shu,SIZE);
                                delay_ms(200);
                                printf("读出的步数为%d   \n",*((u16*)bu_shu));
                                        delay_ms(200);
                                STMFLASH_Read(FLASH_SAVE_ADDR,(u16*)bu_chang,SIZE);
                                  delay_ms(200);
                                printf("读出的步长为%d   \n",*((u16*)bu_chang));

这里是串口打印的结果,有一个方框是咋回事

这里是串口打印的结果,有一个方框是咋回事
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

347

帖子

3

精华

金牌会员

Rank: 6Rank: 6

积分
2078
金钱
2078
注册时间
2014-12-19
在线时间
710 小时
发表于 2016-1-5 08:22:45 | 显示全部楼层
Windows环境下,用\r\n换行
回复

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2016-1-5 08:22:50 | 显示全部楼层
回车换行是这个\r\n
回复

使用道具 举报

13

主题

51

帖子

0

精华

初级会员

Rank: 2

积分
95
金钱
95
注册时间
2015-12-28
在线时间
17 小时
 楼主| 发表于 2016-1-5 13:29:50 | 显示全部楼层
依然不好使,你们说的办法都不行,我想是不是因为我操作了FLASH,引起的printf混乱?
回复

使用道具 举报

13

主题

51

帖子

0

精华

初级会员

Rank: 2

积分
95
金钱
95
注册时间
2015-12-28
在线时间
17 小时
 楼主| 发表于 2016-1-6 11:26:25 | 显示全部楼层
还有知道为什么的吗
回复

使用道具 举报

20

主题

468

帖子

3

精华

金牌会员

Rank: 6Rank: 6

积分
1681
金钱
1681
注册时间
2014-2-25
在线时间
229 小时
发表于 2016-1-6 12:22:19 | 显示全部楼层
不显示中文,用英文代替试试看
回复

使用道具 举报

6

主题

1097

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3571
金钱
3571
注册时间
2014-12-2
在线时间
365 小时
发表于 2016-1-6 15:51:39 来自手机 | 显示全部楼层
如果datatemp是指针,请确认它不是一个野指针;
如果datatemp是16位变量,请改成如下:


STMFLASH_Read(FLASH_SAVE_ADDR+0x0006,(u16*)&datatemp,SIZE);
delay_ms(200);
printf("读出的角度为%d   \n",datatemp);
delay_ms(200);
回复

使用道具 举报

6

主题

1097

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3571
金钱
3571
注册时间
2014-12-2
在线时间
365 小时
发表于 2016-1-6 15:52:42 来自手机 | 显示全部楼层
bu_shu,bu_chang也改成类似
回复

使用道具 举报

13

主题

51

帖子

0

精华

初级会员

Rank: 2

积分
95
金钱
95
注册时间
2015-12-28
在线时间
17 小时
 楼主| 发表于 2016-1-7 14:58:20 | 显示全部楼层
xkwy 发表于 2016-1-6 15:52
bu_shu,bu_chang也改成类似

能给讲一下为什么吗
回复

使用道具 举报

13

主题

51

帖子

0

精华

初级会员

Rank: 2

积分
95
金钱
95
注册时间
2015-12-28
在线时间
17 小时
 楼主| 发表于 2016-1-7 14:58:46 | 显示全部楼层
1201yuge 发表于 2016-1-6 12:22
不显示中文,用英文代替试试看

中文显示,但是有的正常,有的不正常换行
回复

使用道具 举报

20

主题

468

帖子

3

精华

金牌会员

Rank: 6Rank: 6

积分
1681
金钱
1681
注册时间
2014-2-25
在线时间
229 小时
发表于 2016-1-7 15:01:10 | 显示全部楼层
864384664 发表于 2016-1-7 14:58
中文显示,但是有的正常,有的不正常换行

这种情况可能是中英文混用造成的。你就先仅仅用英文显示试试看
回复

使用道具 举报

13

主题

51

帖子

0

精华

初级会员

Rank: 2

积分
95
金钱
95
注册时间
2015-12-28
在线时间
17 小时
 楼主| 发表于 2016-1-7 17:41:03 | 显示全部楼层
1201yuge 发表于 2016-1-7 15:01
这种情况可能是中英文混用造成的。你就先仅仅用英文显示试试看

好的谢谢哈
回复

使用道具 举报

6

主题

1097

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3571
金钱
3571
注册时间
2014-12-2
在线时间
365 小时
发表于 2016-1-7 22:12:37 | 显示全部楼层
864384664 发表于 2016-1-7 14:58
能给讲一下为什么吗

我看你这代码,感觉你指针滥用了,尤其是强制类型转换,它越过了C语言的严格类型检查,容易导致即使有错误也不报错,
坚决不用寄存器,拒绝重复造轮子。
回复

使用道具 举报

1

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
131
金钱
131
注册时间
2015-1-13
在线时间
21 小时
发表于 2016-1-8 10:10:03 | 显示全部楼层
16进制显示 看发出的什么
回复

使用道具 举报

22

主题

181

帖子

0

精华

高级会员

Rank: 4

积分
878
金钱
878
注册时间
2014-7-7
在线时间
311 小时
发表于 2016-1-8 11:01:42 | 显示全部楼层
xkwy 发表于 2016-1-7 22:12
我看你这代码,感觉你指针滥用了,尤其是强制类型转换,它越过了C语言的严格类型检查,容易导致即使有错 ...

楼主指针并没有滥用,语法也是正确,之所以出现这种情况,多数是串口调试助手显示
不兼容中英文混合打印的结果,所以,建议楼主更换别的串口软件试试看!
回复

使用道具 举报

8

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
131
金钱
131
注册时间
2015-12-22
在线时间
22 小时
发表于 2016-1-9 22:01:56 | 显示全部楼层
每次调用STMFLASH_Read()前先将datatemp/bu_shu/bu_chang清零。
例如:
memset(bu_shu, 0x00, sizeof(bu_shu));

试一下看看效果。
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-26 00:09

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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