基于STM32CubeMX生产IAR程序,如何在STM32F407上实现LVGL页面切换

问题遇到的现象和发生背景

在STM32F407上实现LVGL页面切换时怎么编写程序

遇到的现象和发生背景,请写出第一个错误信息
用代码块功能插入代码,请勿粘贴截图。 不用代码块回答率下降 50%
#include "main.h"
#include "GUI_App.h"
#include "lvgl.h"
#include "lv_port_indev.h"



static void btn_event_cb1(lv_event_t * event)
{
    lv_obj_t *btn = lv_event_get_target(event);              //获得事件最初瞄准的对象。即使事件是冒泡的,也是一样的。
    if(event->code == LV_EVENT_CLICKED) 
    {
        static uint8_t cnt = 0;
        cnt++;

        /*Get the first child of the button which is the label and change its text*/
        lv_obj_t * label = lv_obj_get_child(btn, NULL);
        lv_label_set_text_fmt(label, "Button1: %d", cnt);
    }
}

static void btn_event_cb2(lv_event_t * event)
{
    lv_obj_t *btn = lv_event_get_target(event);              //获得事件最初瞄准的对象。即使事件是冒泡的,也是一样的。
    if(event->code == LV_EVENT_CLICKED) 
    {
        static uint8_t cnt = 0;
        cnt++;

        /*Get the first child of the button which is the label and change its text*/
        lv_obj_t * label = lv_obj_get_child(btn, NULL);
        lv_label_set_text_fmt(label, "Button2: %d", cnt);
    }
}

static void btn_event_cb3(lv_event_t * event)
{
    lv_obj_t *btn = lv_event_get_target(event);              //获得事件最初瞄准的对象。即使事件是冒泡的,也是一样的。
    if(event->code == LV_EVENT_CLICKED) 
    {
        static uint8_t cnt = 0;
        cnt++;

        /*Get the first child of the button which is the label and change its text*/
        lv_obj_t * label = lv_obj_get_child(btn, NULL);
        lv_label_set_text_fmt(label, "Button3: %d", cnt);
    }
}

static void btn_event_cb4(lv_event_t * event)
{
    lv_obj_t *btn = lv_event_get_target(event);              //获得事件最初瞄准的对象。即使事件是冒泡的,也是一样的。
    if(event->code == LV_EVENT_CLICKED) 
    {
        static uint8_t cnt = 0;
        cnt++;

        /*Get the first child of the button which is the label and change its text*/
        lv_obj_t * label = lv_obj_get_child(btn, NULL);
        lv_label_set_text_fmt(label, "Button4: %d", cnt);
    }
}

void lvgl_first_UI_demo(void)
{

 //button1  
    static lv_grad_dsc_t grad_sunset;
  
    lv_obj_t * btn1 = lv_btn_create(lv_scr_act());    
    lv_obj_set_style_radius(btn1, LV_RADIUS_CIRCLE, 0);  // 添加按钮对象的圆角弧度样
    lv_obj_set_pos(btn1, 102, 10);                       // 设置按钮位置,即X和Y坐标              
    lv_obj_set_size(btn1, 120, 120);                     // 设置对象大小,宽度和高度
    
    
    grad_sunset.stops[0] = (lv_gradient_stop_t){ .color = lv_palette_main(LV_PALETTE_RED), .frac = 45 };
    grad_sunset.stops[1] = (lv_gradient_stop_t){ .color = lv_palette_main(LV_PALETTE_GREEN), .frac = 128 };
    grad_sunset.stops[2] = (lv_gradient_stop_t){ .color = lv_palette_main(LV_PALETTE_BLUE), .frac = 216 };
    grad_sunset.stops_count = 3;
    grad_sunset.dir = LV_GRAD_DIR_VER;    // 纵向颜色改变
    lv_obj_set_style_bg_grad(btn1, &grad_sunset, 0);        //红->绿->蓝  
    
    lv_obj_add_event_cb(btn1, (lv_event_cb_t)btn_event_cb1, LV_EVENT_CLICKED, NULL);

    lv_obj_t * label1 = lv_label_create(btn1);                
    lv_label_set_text(label1, "Button1");  
    lv_obj_center(label1);
  
  
 //button2
    lv_obj_t * btn2 = lv_btn_create(lv_scr_act());           
    lv_obj_set_pos(btn2, 5, 160);                           
    lv_obj_set_size(btn2, 100, 50);                          
    lv_obj_set_style_bg_color(btn2, lv_palette_main(LV_PALETTE_RED), 0);//将按键背景色改为红色
    lv_obj_add_event_cb(btn2, (lv_event_cb_t)btn_event_cb2, LV_EVENT_CLICKED, NULL);

    lv_obj_t * label2 = lv_label_create(btn2);                
    lv_label_set_text(label2, "Button2");  
    lv_obj_center(label2);
  //button3   
    lv_obj_t * btn3 = lv_btn_create(lv_scr_act());           
    lv_obj_set_pos(btn3, 110, 160);                            
    lv_obj_set_size(btn3, 100, 50);    
    lv_obj_set_style_bg_color(btn3, lv_palette_main(LV_PALETTE_GREEN), 0);//将按键背景色改为绿色
    lv_obj_add_event_cb(btn3, (lv_event_cb_t)btn_event_cb3, LV_EVENT_CLICKED, NULL);

    lv_obj_t * label3 = lv_label_create(btn3);               
    lv_label_set_text(label3, "Button3"); 
    lv_obj_center(label3);
  //button4   
    lv_obj_t * btn4 = lv_btn_create(lv_scr_act());           
    lv_obj_set_pos(btn4, 215, 160);                           
    lv_obj_set_size(btn4, 100, 50);                          
    lv_obj_set_style_bg_color(btn4, lv_palette_main(LV_PALETTE_BLUE), 0);//将按键背景色改为蓝色
    lv_obj_add_event_cb(btn4, (lv_event_cb_t)btn_event_cb4, LV_EVENT_CLICKED, NULL);

    lv_obj_t * label4 = lv_label_create(btn4);               
    lv_label_set_text(label4, "Button4");  
    lv_obj_center(label4);


}

运行结果及详细报错内容

只有一个页面,页面有4个按键

我的解答思路和尝试过的方法,不写自己思路的,回答率下降 60%
我想要达到的结果,如果你需要快速回答,请尝试 “付费悬赏”

实训?