OpenEdv-开源电子网

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

潘多拉开发板DMA例程中文乱码

[复制链接]

41

主题

226

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
480
金钱
480
注册时间
2017-7-29
在线时间
233 小时
发表于 2022-11-29 11:50:04 | 显示全部楼层 |阅读模式
1金钱
测试例程发现中文乱码,改成其他数字和字母字符都正常,不是长度原因。debug查看sendbuff和text_to_send数组内容一致,那为什么会出现乱码的呢?
QQ截图20221129114722.png

最佳答案

查看完整内容[请看2#楼]

在VS code 里面都是UTF-8编码。你将保存的时候的编码更换为与Keil编码一致,试试看。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

103

帖子

0

精华

高级会员

Rank: 4

积分
632
金钱
632
注册时间
2016-3-30
在线时间
67 小时
发表于 2022-11-29 11:50:05 | 显示全部楼层
142zjb 发表于 2022-12-5 08:33
这样确实试出来是什么原因了,我用vsdcode编译过一次,再回到keil里编译下载一次,中文就会变成乱码,直 ...

在VS code 里面都是UTF-8编码。你将保存的时候的编码更换为与Keil编码一致,试试看。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2022-12-3 23:08:35 | 显示全部楼层
直接不用dma, printf 一个中文试试看
回复

使用道具 举报

41

主题

226

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
480
金钱
480
注册时间
2017-7-29
在线时间
233 小时
 楼主| 发表于 2022-12-5 08:33:48 | 显示全部楼层
正点原子 发表于 2022-12-3 23:08
直接不用dma, printf 一个中文试试看

这样确实试出来是什么原因了,我用vsdcode编译过一次,再回到keil里编译下载一次,中文就会变成乱码,直接printf也不行。。。应该和装“Keil Assistant”、“GBKtoUTF8”这两个其中一个插件有关,直接把字符编码给替换了。查看keil里的字符设置,依然还是“ANSI”,且换其他字符也没办法解决这个问题,keil的版本是5.14
回复

使用道具 举报

41

主题

226

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
480
金钱
480
注册时间
2017-7-29
在线时间
233 小时
 楼主| 发表于 2022-12-6 14:57:54 | 显示全部楼层
高级放牛娃 发表于 2022-12-6 09:34
在VS code 里面都是UTF-8编码。你将保存的时候的编码更换为与Keil编码一致,试试看。

keil里都是默认ANSI编码,但是vscode里我选择编码并没有这个对应的编码,需要下载哪个插件可以支持?而且这个时候我keil里不管改成什么格式的编码,重新手打这个printf,都已经没办法正常输出中文了
回复

使用道具 举报

41

主题

226

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
480
金钱
480
注册时间
2017-7-29
在线时间
233 小时
 楼主| 发表于 2022-12-6 15:12:44 | 显示全部楼层
而且我发现keil的文件里,我改动编码格式随便改,注释的中文和printf内的中文都正常显示,vscode的编译过,如果用GB2312重新编码,注释的中文和printf内的中文都会变成乱码,注释的中文乱码太灾难了。。。感觉被vscode编译过一次后,printf中文这个方法直接被废掉,有人有好的办法吗
回复

使用道具 举报

41

主题

226

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
480
金钱
480
注册时间
2017-7-29
在线时间
233 小时
 楼主| 发表于 2022-12-6 15:50:58 | 显示全部楼层
高级放牛娃 发表于 2022-12-6 09:34
在VS code 里面都是UTF-8编码。你将保存的时候的编码更换为与Keil编码一致,试试看。

解决了,vscode里改成“GB2312”就行了,我之前reopen with encoding成乱码是正常的,应该save with encoding。。。
回复

使用道具 举报

0

主题

103

帖子

0

精华

高级会员

Rank: 4

积分
632
金钱
632
注册时间
2016-3-30
在线时间
67 小时
发表于 2022-12-7 20:58:13 | 显示全部楼层
142zjb 发表于 2022-12-6 15:50
解决了,vscode里改成“GB2312”就行了,我之前reopen with encoding成乱码是正常的,应该save with enco ...

对头,VS code 里面修改编码很容易。但是也容易造成混乱。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-24 23:27

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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