历史上的今天
今天是: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不会去修改用户创建的源文件,所以是没问题的。
史海拾趣
|
bios设置HWI问题,请求各位前辈给指导一下!刚学DSP痛苦啊 我用dsp/bios设置的HWI 选择的是HWI_INT5,选择External_Pin_5作为interrupt soure function为:UART_isr Use Dispatcher选为true 设置完并保存,编译后发现错误 不是说在bios中添加硬件中断,系统会自动识别吗? 为什么会出现下面错误: un ...… 查看全部问答> |
|
采用RC振荡的方法非常多,如文氏桥振荡等。这里介绍几种笔者常用的方法: 1.最简单的振荡器 最简单的振荡器 这种振荡器特点是:T≈(1.4~2.3)R*C 电源波动将使频率不稳定,适合小于100KHz的低频振荡情况。 2.加补偿电阻的振荡 加补偿电阻 ...… 查看全部问答> |
|
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型定义去掉了? 写库的人到底怎么想的,去掉类型定义,原来的程序会不兼容,有脑子吗?我已经出离愤怒了,版主告诉我他们怎么想的 ...… 查看全部问答> |
|
安装已经老声音长谈了,但我觉得有再说明一下的必要。因为好的开始是成功的一半,好多都是安装不好。对以后的学习造成了很大损失。甚至不愿再涉及该种芯片。 首选安装IAR V6.10 ,这个再光盘里。有所不同的是,这个是日系的,首先第一项是 ...… 查看全部问答> |
|
转自丁国勇的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 ...… 查看全部问答> |




