【LVGL】GUI神器 NXP GUI GUIDER开发教程-工程移植-基于雅特力AT32F403A /LVGL

好记性不如烂笔头,既然不够聪明,就乖乖的做笔记,温故而知新。

本文档用于本人对知识点的梳理和记录

一、前言

上一篇我们有介绍NXP GUI Guider工具如何制作和调试GUI,GUI神器 NXP GUI GUIDER开发工具入门教程icon-default.png?t=N7T8https://blog.csdn.net/weixin_38933763/article/details/132311269GUI制作好后,如何移植到硬件平台呢?这篇文档会详细介绍如何移植到雅特力AT32F403A平台。文档最后有实际效果视频。

雅特力科技AT32F403A系列MCU,搭载32位ARM® Cortex®-M4内核,达240MHz的运算速度。支持单精度浮点运算单元(FPU)及数字信号处理器(DSP),最高可支持1MB闪存存储器(Flash)及224KB随机存取存储器(SRAM)。适用于工业自动化 (industrial automation),电机控制 (motor control),物联网 (IoT) 及消费性电子 (consumer electronics) 等各种成本敏感及高运算需求的设计。

二、移植

2.1 工具

AT32F403A开发板:AT-START-F403A

8080接口LCD屏一块 240x320 分辨率

软件工具:KEIL,GUI Guider

2.2 移植过程

1、将GUI工程复制到MCU工程,建议放在根目录,便于后面添加头文件和C文件

4a8554af43ae44f5b503d863a6c5e7ff.png

 2、将GUI目录下“custom”和“generated”两个目录下的所有文件和头文件路径添加到KEIL工程中

4ceda4bfe3c34b68bb128625544face1.png

7a5ac1d9b30f4e2baa2e6ce78653bd66.png

其中注意,新建一个“gui_main.c”作为初始化GUI的接口函数;

在主函数main初始化阶段,初始化LVGL后调用 gui_main()

lv_ui guider_ui;

void gui_main(void)
{
    /*Create a GUI-Guider app */
	setup_ui(&guider_ui);
    events_init(&guider_ui);
    custom_init(&guider_ui);
}

d9a288ea987f446ab12f02b1631eec5a.png 3、至此,工程文件添加已完成,编译工程可能会有一些 “#include /lvgl/lvgl.h” 的报错,根据实际路径修改即可,比如我的工程需要修改为 “#include ../lvgl/lvgl.h”,亦或者其他头文件修改方式均可

 7a69f4cf655e475eb62dd46972fd6a5d.png

 4、因工程带触屏,这里有个地方需要特别注意

NXP GUI Guider的X和Y坐标方向可能与LVGL的X、Y坐标方向不符,如果存在这种情况,需要在 “lv_port_indev_template.c” 中找到 lv_port_indev_init ,然后找到注册的“read_cb”函数,进入该函数对应的修改X、Y的坐标参数;

f6048d432c3642b9925797b1fb0d7e91.png

 如上图,我的工程中,read_cb 函数是 touchpad_read,我需要在 touchpad_read 中将Y轴的坐标倒置,GUI的X、Y才和屏幕的X、Y对应

//      last_y = 240-(240 * touch_dev_struct.x_p[1]) / (0xe10);
//      last_x= (320 * touch_dev_struct.y_p[1]) / (0xe10);
        last_y = 240 - (240 * touch_dev_struct.x_p[1]) / (TOUCH_AD_RIGHT);
        last_x = (320 * touch_dev_struct.y_p[1]) / (TOUCH_AD_RIGHT);

5、工程编译并下载到 AT32-START-F403A 开发板,实际验证是否达到预期效果,是否和PC模拟器效果一致

GUI效果演示

三、总结

该移植步骤比较简单,开发难点在于GUI界面制作,欢迎指出不足之处,共同进步

  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
lvgl nxp gui guider 1.6是一个用于NXP微控制的图形用户界面(GUI)开发工具。LVGL(轻量级嵌入式图形库)是一款开源的GUI库,可以在各种嵌入式设备上创建美观且功能丰富的用户界面。NXP GUI Guider是一个可视化的GUI设计工具,可以通过简单的拖放操作来设计和生成LVGL GUI界面。 使用LVGL NXP GUI Guider 1.6可以轻松快速地开发出专业水平的GUI界面。它提供了丰富的内置控件,如按钮、文本框、进度条、滑块等,用户可以根据自己的需求进行定制和扩展。此外,它还支持动画效果、多语言支持和主题切换等功能,使得界面更加丰富多样。 利用该工具,开发人员只需通过简单的拖放操作就可以设计和布局界面元素,并直接在编辑中进行预览和调试。同时,可以通过代码生成自动生成所需的LVGL C代码,方便集成进项目中。这样,开发人员可以更专注于业务逻辑或者其他核心功能的实现,提高开发效率。 此外,LVGL NXP GUI Guider 1.6还支持与其他开发工具的集成,如NXP MCUXpresso IDE和RTCS库等。这样,开发者可以在一个完整的开发环境中进行GUI开发,并且可以更好地与其他系统组件进行集成和交互。 总之,LVGL NXP GUI Guider 1.6是一个强大且易用的GUI开发工具,能够帮助开发者快速创建出高效、美观的GUI界面,并且与NXP微控制的生态系统完美集成,提高开发效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑色HS

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值