欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 锐评 > U8G2 中文字符 keil 异常问题解决 移植 C语言

U8G2 中文字符 keil 异常问题解决 移植 C语言

2025/10/26 20:21:43 来源:https://blog.csdn.net/qq_42254853/article/details/143643130  浏览:    关键词:U8G2 中文字符 keil 异常问题解决 移植 C语言

移植看了篇文章很快搞定,不过KEIL 用U8G2输出中文搞了半天,大部分都是Arduino 和C不一样看了反而绕的很,搞了半天其实问题很简单。

需要确保

编辑器模式

C 的编码软件模式需要对应
在这里插入图片描述

编译器选高版本6

在这里插入图片描述

KEIL 异常原因(确保编译器转码)

u8g2_DrawUTF8 输出只要字库有就没用问题,可以改字库其实U8G2本身工具就能实现。

”上“ 字 对应uint8_t data[4]={0xe4,0xb8,0x8a,00};

void u8g2_init(void){
u8g2_t u8g2; // a structure which will contain all the data for one display

u8g2Init(&u8g2);

while (1)
{
/* USER CODE END WHILE /
u8g2_ClearBuffer(&u8g2);
u8g2_SetFont(&u8g2,u8g2_font_unifont_t_chinese2);
u8g2_DrawUTF8(&u8g2,30,15,“上一”);
//异常测试用 u8g2_DrawUTF8(&u8g2,30,15,data);//输出上字
u8g2_SendBuffer(&u8g2);
HAL_Delay(1000);
/
USER CODE BEGIN 3 */
}

}

移植看下面就够了

u8g2_d_setup 配置初始化

很多选择,相同控制器相同分辨率在一个文件夹下,主要差异是配置不同
u8g2_Setup_ssd1306_i2c_128x64_noname_f

#u8g2_d_memery
对应的内存要求也有不同,图像的内存申请可以只保留用到了否则内存消耗会非常大。

uint8_t *u8g2_m_16_8_f(uint8_t *page_cnt)

https://blog.csdn.net/Master_0_/article/details/122359931
在这里插入图片描述

转码网页

http://tool.chinaz.com/tools/unicode.aspx

使用U8G2工具生成字库,不用其他不知名工具

http://dx1023.com/blog/37/

 ../bdf/unifont.bdf     ---使用的源字库文件    ../build/dx.map        ---需要转换的汉字map表,dx.map直接拿个中文的来改去除/添加../bdf/7x13.bdf        ---生成字库的字体文件,可以换字体 wenquanyi_9pt.bdf可以试试,应该问题不大u8g2_font_unifont_dx   ---生成字库数组的名字  自定义u8g2_font_unifont_dx.c ---字库保存的c文件名   自定义

需要的字可以dx.map中加减,dx.map直接拿个中文的来改去除添加
在u8g2-master\tools\font\bdfconv 文件夹下运行或修改test**.bat

bdfconv.exe -v ../bdf/unifont.bdf -b 0 -f 1 -M ../build/dx.map -d ../bdf/7x13.bdf -n u8g2_font_unifont_dx -o u8g2_font_unifont_dx.c

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词