历史上的今天
返回首页

历史上的今天

今天是:2025年04月22日(星期二)

正在发生

2018年04月22日 | STM32CubeMX处理UTF-8编码中文注释存在的问题及解决方法

2018-04-22 来源:eefocus

Windows环境下源代码使用UTF-8编码,STM32CubeMX创建的源文件中包含中文注释,那么使用STM32CubeMX重新生成源代码时会导致中文注释变乱码。

http://blog.csdn.net/zoomdy/article/details/54767178 
mingdu.zheng at gmail dot com

存在的问题

STM32CubeMX修改配置并重新生成文件后,原来的中文注释中出现了乱码,见下图。

这里写图片描述

下图是乱码之前的代码。

这里写图片描述

按照STM32CubeMX的设计,在重新生成代码时只会修改STM32CubeMX生成的代码,保留用户在指定区域内编写的代码。

问题分析

多次实验后发现,只有在Windows环境下源代码使用UTF-8编码时才出现这个问题,如果使用Windows默认的GBK编码是没有问题的。Linux环境下使用UTF-8编码不会出现这个问题,Linux默认编码就是UTF-8。

解决办法

1、不要使用UTF-8编码。如果开发环境是多元的,要支持Windows、Linux、Mac OS X,那只能使用UTF-8编码。 
2、不要在STM32CubeMX生成的文件中写中文注释,可以写英文注释,或者将有中文注释的代码放到用户创建的源文件中,STM32CubeMX不会去修改用户创建的源文件,所以是没问题的。


推荐阅读

史海拾趣

AND Displays公司的发展小趣事

AND Displays公司自成立以来,一直致力于显示技术的研发与创新。在早期阶段,公司团队就针对当时市场上显示面板的缺陷,进行了一系列技术攻关。经过数年的努力,AND Displays成功开发出了一种新型显示技术,该技术在色彩还原、对比度和响应速度等方面均表现出色,迅速获得了市场的认可。此后,公司不断推出创新产品,满足了消费者对高质量显示面板的日益增长的需求,逐渐在电子行业中崭露头角。

Franel Corp公司的发展小趣事

面对中国市场的多样化和个性化需求,法勒公司积极提供定制化解决方案。无论是复杂的物流系统改造,还是特殊环境下的设备供电需求,法勒都能凭借其专业的技术团队和丰富的项目经验,为客户提供量身定制的解决方案。这种以客户为中心的服务模式,不仅增强了客户粘性,也进一步巩固了法勒在中国市场的领先地位。

顺芯(Everest-semi)公司的发展小趣事

在技术创新的同时,顺芯公司也注重市场拓展和品牌建立。公司积极参加国内外各类展会和论坛,与潜在客户和合作伙伴建立了广泛的联系。同时,顺芯公司还加强了与渠道商的合作,提高了产品的市场覆盖率。通过一系列的市场推广活动,顺芯公司的品牌知名度和美誉度逐渐提升。

EAO公司的发展小趣事

在电子制造行业日益重视环保和可持续发展的背景下,EAO公司积极响应号召,致力于研发和生产环保型电子产品。公司投入大量资源研发新型环保材料,优化生产工艺,减少生产过程中的废弃物排放。同时,EAO公司还建立了完善的电子垃圾回收体系,对废弃电子产品进行专业处理,确保资源得到合理利用,减少对环境的负面影响。

DILABS公司的发展小趣事

DILABS公司成立于XX世纪初,由一群热衷于电子技术的工程师创立。在公司初创时期,他们面临了资金短缺、技术瓶颈和市场竞争等多重挑战。然而,他们坚持创新,经过无数次实验,终于在芯片封装技术上取得了突破。这一突破性的技术为DILABS赢得了业界的关注,也为公司的发展奠定了坚实的基础。

CANOPUS公司的发展小趣事

CANOPUS的产品逐渐赢得了全球音乐爱好者的喜爱。为了更好地满足市场需求,公司开始积极拓展海外市场。通过与当地经销商合作、参加国际展览等方式,CANOPUS的产品逐渐打入国际市场,并在全球范围内建立了良好的声誉。

问答坊 | AI 解惑

bios设置HWI问题,请求各位前辈给指导一下!刚学DSP痛苦啊

我用dsp/bios设置的HWI 选择的是HWI_INT5,选择External_Pin_5作为interrupt soure function为:UART_isr Use Dispatcher选为true 设置完并保存,编译后发现错误 不是说在bios中添加硬件中断,系统会自动识别吗? 为什么会出现下面错误: un ...…

查看全部问答>

搞定这5个RC振荡电路让你的模拟设计顺畅很多

采用RC振荡的方法非常多,如文氏桥振荡等。这里介绍几种笔者常用的方法: 1.最简单的振荡器 最简单的振荡器 这种振荡器特点是:T≈(1.4~2.3)R*C 电源波动将使频率不稳定,适合小于100KHz的低频振荡情况。 2.加补偿电阻的振荡 加补偿电阻 ...…

查看全部问答>

关于flash擦除的问题

1、原先用spansion的norflash s29GL032操作一切正常,先改为ST的M29W320的flash,在用jtag烧写uboot时,一直擦除不成功,我用的是片擦除,系统时钟为125M,指令如下 //16bit erase         *(volatile UINT16 *)(AM_START_AD ...…

查看全部问答>

大家点个思路,有关基于S3C2440和WinCE如何使用串口及SD卡的问题

大家好,谢谢大家这么些天来一直很热心的回答我的问题,十分感谢! 现在我想实现这样的功能: 外面通过串口将数据传给S3C2440,这里S3C2440跑的是WinCE操作系统,在WinCE上应用程序将数据接收处理并将其存入SD卡,并画出数据拟合成的曲线。 这里 ...…

查看全部问答>

wince下如何进行驱动调试,一定要用串口么??如果程序修改的话还要重新编译内核?

1.现在刚准备做wince的,我现在有些不明白如何进行调试,每次定制内核要用到几十分钟,我在调试硬件驱动的时候,为了考虑稳定性需要不断得进行修改代码,每次修改代码之后都要重新编译内核,太耗时了,请问有没有什么简单得方法呢??模拟调试是不行的,我的 ...…

查看全部问答>

ST新库3.4.0中stm32f10x.h里面为啥又把bool型定义去掉了?

                                 写库的人到底怎么想的,去掉类型定义,原来的程序会不兼容,有脑子吗?我已经出离愤怒了,版主告诉我他们怎么想的 ...…

查看全部问答>

哥哥姐姐们帮我打开schdoc并转成.sch文件吧

哥哥姐姐们帮我打开schdoc并转成.sch文件吧谢谢啊。。在线等啊,谢谢啊…

查看全部问答>

FM4学习笔记一:安装

安装已经老声音长谈了,但我觉得有再说明一下的必要。因为好的开始是成功的一半,好多都是安装不好。对以后的学习造成了很大损失。甚至不愿再涉及该种芯片。   首选安装IAR V6.10 ,这个再光盘里。有所不同的是,这个是日系的,首先第一项是 ...…

查看全部问答>

EMC磁珠到底是什么特性?(上)

转自丁国勇的EMC博客刚才偶然看了本刊的两篇有关磁珠的专家博文,这两篇博文都是讲磁珠的。其中一篇是讲磁珠与电感的区别,另一篇讲磁珠其实就是一电阻特性。其实这样的说法都是不准确的。磁珠(Ferrite bead)的等效电路是一个DCR电阻串联一个电感 ...…

查看全部问答>

做的流水灯程序,要求从右到做两次就停下来,可是不行?

#include #include #define uint unsigned int #define uchar unsigned char uchar temp,b; void delay(uint z); void main() {              temp=0xfe;       &nbs ...…

查看全部问答>