Other Parts Discussed in Thread: MSPM33C321A, SYSCONFIG
器件型号: MSPM33C321A
主题: SysConfig 中讨论的其他器件
MSPM33 SDK(当前为 1.03.00.01 - 2026年3月18日)包含在 MSPM33C321 上使用 LVGL 的演示。
TI 提供了一个 LVGL CCS 演示工程、您可在 SDK 中的以下位置找到:
C:\ti\mspm33_sdk_1_03_00_01\examples\nortos\LP_MSPM33C321A\demos
(我想您也可以在 Resource Explorer 中访问它。)
现在您已成功运行 LVGL 演示*、并尝试拨打 Elena 的电话号码、您该怎么办?
下面提供了快速指南、可帮助您在 LVGL 上使用 MSPM33C321 开始使用自己的 GUI。
所有这些说明都对 MSPM33C321 LVGL 示例中的 main.c 进行了更改。
#0 删除演示
注释掉演示文件:
在全球范围内
//#包含“demos/widgets/lv_demo_widget.h“
在 main() 中:
//lv_demo_deters();
#1:我们的第一个标签
在 main() 之上添加全局对象:
LV_OBJ_t *MyLabel;
这将创建指向 LVGL 对象的指针。
现在,在 main() 中,在 while () 循环之前添加以下内容:
MyLabel = LV_LABEL_CREATE (LV_SCR_act ());
LV_LABEL_SET_TEXT (MyLabel、“Hello、World!“);
LV_OBJ_ALIGN (MyLabel、LV_ALIGN_CENTER、0);
这将创建一个新标签、将其分配给 MyLabel 并将其初始化为“Hello、World!“
它也会将其与显示屏的中心对齐。
编译并在您的硬件上运行。

(我的屏幕截图来自我的 MSVS 模拟器 — 见下文)
2 号计数器
让我们稍微修改一下、在标签中创建一个实时计数器。
将此变量和函数添加到 main() 上方的全局区域:
INT 计数器= 0;
void UpdateCounterTimer(LV_TIMER_t*计时器)
{
LV_LABEL_SET_TEXT_fmt(MyLabel、“Hello、World:%d,计数器);
counter++;
}
并在其他 MyLabel 代码下面添加此函数:
LV_TIMER_CREATE (UpdateCounterTimer、1000、NULL);
构建并运行。
此代码添加了一个计时器、它将每 1000 毫秒调用一次 UpdateCounterTimer ()。
[请注意、至少在我的 LaunchPad 上、更新速度快得多。 调用中断的速度可能快于每 1ms ]
当调用 UpdateCounterTimer() 时、它会设置一个带有计数器值的新文本标签。

#3 按钮
最后修改后、我们再添加一个按钮。
在全局区域中、我们需要一个按钮和布尔值来充当标志:
LV_OBJ_t*按钮;
Volatile bool 标志= false;
以及处理按钮事件的功能:
void Button_Event_Handler (LV_EVENT_t* e)
{
LV_EVENT_CODE_t 代码= LV_EVENT_GET_CODE (e);
if (code == LV_EVENT_CLOSED){
if(标志== false)
{
flag = true;
}
暴露
{
FLAG = FALSE;
}
}
}
如果我们有多个按钮、我们可能需要添加代码来区分按钮
让我们在 UpdateCounterTimer () 函数中做一个小的改变,只在标记为 false 时更新计数器
void UpdateCounterTimer(LV_TIMER_t*计时器)
{
LV_LABEL_SET_TEXT_fmt(MyLabel、“Hello、World:%d,计数器);
if(标志== false)
{
counter++;
}
}
最后,我们将按钮启动代码添加到 main() 中:
按钮= LV_btn_create (LV_SCR_act ());
LV_OBJ_ADD_EVENT_CB (Button、Button_Event_Handler、LV_EVENT_ALL、NULL);
LV_OBJ_ALIGN (Button、LV_ALIGN_CENTER、–100、–100);
LV_OBJ_t*标签;
标签= LV_label_create(按钮);
LV_LABEL_SET_TEXT(标签,“Start//Stop“);
LV_OBJ_CENTER(标签);
这将创建一个按钮作为主屏幕的子屏幕。 (“LV_SCR_act ()“)它在原始标签的上方和左侧对齐。
然后、我们创建一个作为按钮子项的标签、并添加一些文本。
编译并运行。 您应该会看到如下所示的内容:

当您单击按钮时、您可以启动和停止计数器。
这应该足以让您开始工作。
但是、如果要添加更多小工具并查看更多示例:
https://lvgl.io/docs/open/8.3/get-started/
(我指向 8.3 文档、因为这是 MSPM33 SDK 当前提供的版本。)
如果您要创建任何类型的复杂 GUI、我强烈建议您使用在主机 PC 上运行的仿真器:
https://lvgl.io/docs/open/8.3/get-started/platforms/pc-simulator.html
还有一个大型的活跃用户论坛、可帮助您解决任何其他问题。
(注意:即将推出的新 SDK 即将推出,可能会以未知方式更改这些指令。)
*我必须断开 PWM/LED 引脚才能使其正常工作。
--