当前位置:网站首页>Precautions for lvgl v8.2 string display on keil MDK (take little bear pie as an example)
Precautions for lvgl v8.2 string display on keil MDK (take little bear pie as an example)
2022-07-01 09:37:00 【Engineer-Bruce_ Yang】
Click on the above “ Embedded Application Research Institute ”, choice “ Roof placement / Official account of star standard ”
Dry goods benefits , First time delivery !
source | Embedded Application Research Institute
Arrangement & Typesetting | Embedded Application Research Institute
Before that LVGL Simulator CodeBlock There is a multilingual demo, For learning LVGL The application of many languages , As shown below :
Later, I transplanted it to the little bear development board , It turned out to be like this , Even the display position of the control has changed ( The specific reason for the control shift is unknown , To be analyzed later LVGL Source code ):
This is a coding problem . According to past experience , Directly find the file with Chinese string in the project directory , use notepad++
Turn it into utf-8
, Then save it directly and open it again Keil MDK That's all right. , Then try it :
Next open MDK engineering , recompile , There is 6 individual Error:
1、 Wrong pit arrangement
The cause of the error shows that there are too many parameters to call the macro , But in fact, this is just a parameter ... Should not be , I began to doubt whether the compiler supported wide character display , So search Keil MDK
The help manual sees this :
Follow the instructions in the documentation , I am here Misc Controls Add... To this configuration item --no-multibyte-chars
, And then recompile the project :
Next, download it to the development board :
The final display is normal .
2、 The core reason
adopt STM32CubeMX The encoding format of the generated program source file is not UTF-8
perhaps UTF16
, Therefore, if you write Chinese and some special national language characters under some files, you need to convert the files manually . If the source file code is UTF-8 or UTF-16, And the file begins with a byte order mark , The compiler will ignore --locale and --[no_]multibyte_chars Option and interpret the file as UTF-8 or UTF- 16.
3、 The correct approach
Usually do multi language display , We need to separate the languages of each different country into different documents , Then transcode it separately , To facilitate unified management , for example 3D Printer firmware Marlin
Code , That's what it does :
And some simulation display software , The coding environment is relatively perfect , Many pits have actually helped us eliminate them in advance , Therefore, in the face of some platforms with less perfect coding environment , Understanding the environment configuration and some coding rules is more helpful for us to locate the problem . If you have a better way , Leave a comment in the comments section , Communicate together LVGL applied technology . At present, the application routine is still being modified , Later, it will be shared to Github perhaps Gitee, The address will be given in the comments section . Next issue will share how to simulate a rotary encoder to realize keyboard input .
Past highlights
Keil MDK software package (pack) Several methods of downloading
Hand in hand Keil MDK Use in GCC Compiler tool chain
Keil MDK Upgrade to Keil Studio, Here comes the black theme you want , Attached handle tutorial
I think this article is helpful to you , Let's go [ Looking at ]
And forward to share , It's also my support .
边栏推荐
- Computer USB, HDMI, DP various interfaces and speeds
- laravel postman 提交表单出现419错误。2020年7月6日记。
- PR training notes
- nacos服务配置和持久化配置
- Spark's action operator
- 利用闭包实现私有变量
- 嵌入式开发用到的一些工具
- [ESP nanny level tutorial] crazy completion chapter - Case: gy906 infrared temperature measurement access card swiping system based on the Internet of things
- 【leetcode】287. Find duplicates
- A 419 error occurred in the laravel postman submission form. July 6th, 2020 diary.
猜你喜欢
炒币,亏了1000万。
Implementation and application of queue
dotnet 控制台 使用 Microsoft.Maui.Graphics 配合 Skia 进行绘图入门
【电赛训练】红外光通信装置 2013年电赛真题
Flinkv1.13实现金融反诈骗案例
2.3 【kaggle数据集 - dog breed 举例】数据预处理、重写Dataset、DataLoader读取数据
【检测技术课案】简易数显电子秤的设计与制作
Concept of digital currency
[pytorch] softmax function
HMS Core音频编辑服务3D音频技术,助力打造沉浸式听觉盛宴
随机推荐
2022.02.15_ Daily question leetcode six hundred and ninety
SQL学习笔记(01)——数据库基本知识
js valueOf 与 toString 区别
电脑USB、HDMI、DP各种接口及速度
js函数arguments对象
Weidongshan board compilation kernel problem solving
A 419 error occurred in the laravel postman submission form. July 6th, 2020 diary.
华为帐号多端协同,打造美好互联生活
Matrix and coordinates
[ESP nanny level tutorial preview] crazy node JS server - Case: esp8266 + DHT11 +nodejs local service + MySQL database
[pytorch] 2.4 convolution function nn conv2d
Problems caused by delete and delete[]
ESP8266 FreeRTOS开发环境搭建
Reproduced Xray - cve-2017-7921 (unauthorized access by Hikvision)
dsPIC30F6014a LCD 方块显示
微信小程序 webview 禁止页面滚动,同时又不影响业务内overflow的滚动的实现方式
3D打印Arduino 四轴飞行器
Daily practice of C language - day 80: currency change
SQL learning notes (03) -- data constraint relationship
富文本实现插值