|
|
|
@ -19,44 +19,55 @@ |
|
|
|
#define LCD_BL_PIN GET_PIN(D,12) |
|
|
|
#define LCD_RST_PIN GET_PIN(D,11) |
|
|
|
|
|
|
|
void lv_user_gui_init(void) |
|
|
|
static void btn_led_on_evt_handler(lv_event_t *e) |
|
|
|
{ |
|
|
|
// rt_pin_mode(LCD_BL_PIN, PIN_MODE_OUTPUT);
|
|
|
|
// rt_pin_write( LCD_BL_PIN, PIN_HIGH);
|
|
|
|
// rt_pin_mIN, ode(LCD_RST_PIN, PIN_MODE_OUTPUT);
|
|
|
|
// rt_pin_write( LCD_RST_PPIN_LOW);
|
|
|
|
lv_event_code_t code = lv_event_get_code(e); |
|
|
|
|
|
|
|
// 检查 LTDC 是否全局使能
|
|
|
|
if (LTDC->GCR & LTDC_GCR_LTDCEN) |
|
|
|
if (code == LV_EVENT_CLICKED) |
|
|
|
{ |
|
|
|
LOG_D("LTDC is ENABLED"); |
|
|
|
rt_kprintf("LED ON\n"); |
|
|
|
//led_on();
|
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
LOG_E("LTDC is NOT enabled!"); |
|
|
|
} |
|
|
|
|
|
|
|
// 检查图层 0 是否使能
|
|
|
|
if (LTDC_Layer1->CR & LTDC_LxCR_LEN) |
|
|
|
static void btn_led_off_evt_handler(lv_event_t *e) |
|
|
|
{ |
|
|
|
LOG_D("Layer 0 is ENABLED"); |
|
|
|
} |
|
|
|
else |
|
|
|
lv_event_code_t code = lv_event_get_code(e); |
|
|
|
|
|
|
|
if (code == LV_EVENT_CLICKED) |
|
|
|
{ |
|
|
|
LOG_E("Layer 0 is NOT enabled!"); |
|
|
|
rt_kprintf("LED OFF\n"); |
|
|
|
// led_off();
|
|
|
|
} |
|
|
|
if (__HAL_RCC_LTDC_IS_CLK_ENABLED()) |
|
|
|
{ |
|
|
|
LOG_D("LTDC clock is enabled"); |
|
|
|
} |
|
|
|
else |
|
|
|
|
|
|
|
void lv_user_gui_init(void) |
|
|
|
{ |
|
|
|
LOG_E("LTDC clock is DISABLED! <-- This is likely the root cause"); |
|
|
|
} |
|
|
|
lv_obj_t *scr = lv_scr_act(); |
|
|
|
|
|
|
|
// 创建“按钮” —— 实际是一个可点击的普通对象
|
|
|
|
lv_obj_t *btn_on = lv_obj_create(scr); |
|
|
|
lv_obj_set_size(btn_on, 100, 50); |
|
|
|
lv_obj_align(btn_on, LV_ALIGN_CENTER, -60, 0); |
|
|
|
lv_obj_add_flag(btn_on, LV_OBJ_FLAG_CLICKABLE); // 启用点击
|
|
|
|
lv_obj_clear_flag(btn_on, LV_OBJ_FLAG_SCROLLABLE); |
|
|
|
|
|
|
|
lv_obj_t *label_on = lv_label_create(btn_on); |
|
|
|
lv_label_set_text(label_on, "LED ON"); |
|
|
|
lv_obj_center(label_on); |
|
|
|
|
|
|
|
lv_obj_add_event_cb(btn_on, btn_led_on_evt_handler, LV_EVENT_CLICKED, NULL); |
|
|
|
|
|
|
|
// 第二个按钮
|
|
|
|
lv_obj_t *btn_off = lv_obj_create(scr); |
|
|
|
lv_obj_set_size(btn_off, 100, 50); |
|
|
|
lv_obj_align(btn_off, LV_ALIGN_CENTER, 60, 0); |
|
|
|
lv_obj_add_flag(btn_off, LV_OBJ_FLAG_CLICKABLE); |
|
|
|
lv_obj_clear_flag(btn_off, LV_OBJ_FLAG_SCROLLABLE); |
|
|
|
|
|
|
|
lv_obj_t *label_off = lv_label_create(btn_off); |
|
|
|
lv_label_set_text(label_off, "LED OFF"); |
|
|
|
lv_obj_center(label_off); |
|
|
|
|
|
|
|
// lv_obj_t *label = lv_label_create(lv_scr_act());
|
|
|
|
// lv_label_set_text(label, "Hello LVGL on RT-Thread!");
|
|
|
|
// lv_obj_align(label, LV_ALIGN_CENTER, 0, 0);
|
|
|
|
lv_obj_add_event_cb(btn_off, btn_led_off_evt_handler, LV_EVENT_CLICKED, NULL); |
|
|
|
} |
|
|
|
//INIT_APP_EXPORT(lv_user_gui_init);
|
|
|
|
|