From ea0a67e5068b9269c7a0f81934c429db393d5a2d Mon Sep 17 00:00:00 2001
From: sc <2401809606@qq.com>
Date: Sat, 13 Dec 2025 02:00:24 +0800
Subject: [PATCH] =?UTF-8?q?i2c=E7=9B=B8=E5=85=B3=E4=BF=AE=E6=94=B9?=
=?UTF-8?q?=EF=BC=8C=E8=A7=A6=E6=91=B8=E5=B1=8F=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.config | 8 ++++--
.cproject | 4 +--
.project | 2 +-
applications/lvgl/lv__user_gui.c | 49 --------------------------------
drivers/board.h | 8 +++---
drivers/drv_soft_i2c.c | 2 +-
drivers/ltdc.c | 6 ++--
rtconfig.h | 4 ++-
8 files changed, 19 insertions(+), 64 deletions(-)
diff --git a/.config b/.config
index ea608dd..140adcf 100644
--- a/.config
+++ b/.config
@@ -202,7 +202,7 @@ CONFIG_RT_USING_MTD_NOR=y
# CONFIG_RT_USING_PM is not set
CONFIG_RT_USING_RTC=y
# CONFIG_RT_USING_ALARM is not set
-# CONFIG_RT_USING_SOFT_RTC is not set
+CONFIG_RT_USING_SOFT_RTC=y
CONFIG_RT_USING_SDIO=y
CONFIG_RT_SDIO_STACK_SIZE=512
CONFIG_RT_SDIO_THREAD_PRIORITY=15
@@ -543,7 +543,7 @@ CONFIG_PKG_USING_LVGL=y
CONFIG_PKG_LVGL_PATH="/packages/multimedia/LVGL/LVGL"
CONFIG_PKG_LVGL_THREAD_PRIO=20
CONFIG_PKG_LVGL_THREAD_STACK_SIZE=4096
-CONFIG_PKG_LVGL_DISP_REFR_PERIOD=5
+CONFIG_PKG_LVGL_DISP_REFR_PERIOD=30
# CONFIG_PKG_USING_LVGL_SQUARELINE is not set
# CONFIG_PKG_LVGL_USING_EXAMPLES is not set
CONFIG_PKG_LVGL_USING_DEMOS=y
@@ -1064,7 +1064,9 @@ CONFIG_PKG_FT5426_VER="latest"
# CONFIG_PKG_USING_AS608 is not set
# CONFIG_PKG_USING_RC522 is not set
# CONFIG_PKG_USING_WS2812B is not set
-# CONFIG_PKG_USING_EXTERN_RTC_DRIVERS is not set
+CONFIG_PKG_USING_EXTERN_RTC_DRIVERS=y
+# CONFIG_PKG_USING_DS3231 is not set
+# CONFIG_PKG_USING_RX8900 is not set
# CONFIG_PKG_USING_MULTI_RTIMER is not set
# CONFIG_PKG_USING_MAX7219 is not set
# CONFIG_PKG_USING_BEEP is not set
diff --git a/.cproject b/.cproject
index 5788b07..e726e63 100644
--- a/.cproject
+++ b/.cproject
@@ -850,7 +850,7 @@
-
+
@@ -870,7 +870,7 @@
-
+
diff --git a/.project b/.project
index f059ea4..350c330 100644
--- a/.project
+++ b/.project
@@ -1,6 +1,6 @@
- 828F
+ project
diff --git a/applications/lvgl/lv__user_gui.c b/applications/lvgl/lv__user_gui.c
index e3bec6d..5eb250d 100644
--- a/applications/lvgl/lv__user_gui.c
+++ b/applications/lvgl/lv__user_gui.c
@@ -20,56 +20,7 @@
#define LCD_BL_PIN GET_PIN(D,12)
#define LCD_RST_PIN GET_PIN(D,11)
-static void btn_led_on_evt_handler(lv_event_t *e)
-{
- lv_event_code_t code = lv_event_get_code(e);
-
- if (code == LV_EVENT_CLICKED)
- {
- rt_kprintf("LED ON\n");
- //led_on();
- }
-}
-
-static void btn_led_off_evt_handler(lv_event_t *e)
-{
- lv_event_code_t code = lv_event_get_code(e);
-
- if (code == LV_EVENT_CLICKED)
- {
- rt_kprintf("LED OFF\n");
- // led_off();
- }
-}
-
void lv_user_gui_init(void)
{
lv_demo_widgets();
- /* 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_add_event_cb(btn_off, btn_led_off_evt_handler, LV_EVENT_CLICKED, NULL);*/
}
diff --git a/drivers/board.h b/drivers/board.h
index fb50514..25cd2c4 100644
--- a/drivers/board.h
+++ b/drivers/board.h
@@ -133,11 +133,11 @@ extern "C"
#endif
/*#define BSP_USING_I2C2*/
-//#define BSP_USING_I2C2
+#define BSP_USING_I2C2
#ifdef BSP_USING_I2C2
-#define BSP_I2C2_SCL_PIN GET_PIN(port, pin)
-#define BSP_I2C2_SDA_PIN GET_PIN(port, pin)
+#define BSP_I2C2_SCL_PIN GET_PIN(B, 7)
+#define BSP_I2C2_SDA_PIN GET_PIN(B, 8)
#endif
/*-------------------------- I2C CONFIG END --------------------------*/
@@ -286,7 +286,7 @@ extern "C"
*
*/
/*#define BSP_USING_ONCHIP_RTC*/
-#define BSP_USING_ONCHIP_RTC
+//#define BSP_USING_ONCHIP_RTC
/*-------------------------- RTC CONFIG END --------------------------*/
diff --git a/drivers/drv_soft_i2c.c b/drivers/drv_soft_i2c.c
index 653d729..a77a108 100644
--- a/drivers/drv_soft_i2c.c
+++ b/drivers/drv_soft_i2c.c
@@ -160,7 +160,7 @@ static const struct rt_i2c_bit_ops stm32_bit_ops_default =
.get_sda = stm32_get_sda,
.get_scl = stm32_get_scl,
.udelay = stm32_udelay,
- .delay_us = 1,
+ .delay_us = 5,
.timeout = 100
};
diff --git a/drivers/ltdc.c b/drivers/ltdc.c
index 0977b33..13c603a 100644
--- a/drivers/ltdc.c
+++ b/drivers/ltdc.c
@@ -456,9 +456,9 @@ int ltdc_init(void)
else if (lcdid == 0X7016)
{
lcdltdc.pwidth = 1024; lcdltdc.pheight = 600;
- lcdltdc.hsw = 70; lcdltdc.hbp = 160; lcdltdc.hfp = 160;
- lcdltdc.vsw = 10; lcdltdc.vbp = 23; lcdltdc.vfp = 12;
- ltdc_clk_set(128, 32, 5);
+ lcdltdc.hsw = 20; lcdltdc.hbp = 160; lcdltdc.hfp = 160;
+ lcdltdc.vsw = 3; lcdltdc.vbp = 23; lcdltdc.vfp = 12;
+ ltdc_clk_set(128, 40, 5);
}
else if (lcdid == 0X7018)
{
diff --git a/rtconfig.h b/rtconfig.h
index 1cdd2b2..07e768b 100644
--- a/rtconfig.h
+++ b/rtconfig.h
@@ -131,6 +131,7 @@
#define RT_USING_I2C_BITOPS
#define RT_USING_MTD_NOR
#define RT_USING_RTC
+#define RT_USING_SOFT_RTC
#define RT_USING_SDIO
#define RT_SDIO_STACK_SIZE 512
#define RT_SDIO_THREAD_PRIORITY 15
@@ -260,7 +261,7 @@
#define PKG_USING_LVGL
#define PKG_LVGL_THREAD_PRIO 20
#define PKG_LVGL_THREAD_STACK_SIZE 4096
-#define PKG_LVGL_DISP_REFR_PERIOD 5
+#define PKG_LVGL_DISP_REFR_PERIOD 30
#define PKG_LVGL_USING_DEMOS
#define PKG_LVGL_USING_V080311
#define PKG_LVGL_VER_NUM 0x080311
@@ -362,6 +363,7 @@
#define PKG_USING_FT5426
#define PKG_USING_FT5426_LATEST_VERSION
/* end of touch drivers */
+#define PKG_USING_EXTERN_RTC_DRIVERS
#define PKG_USING_RS485
#define RS485_USING_DEV
#define RS485_SW_DLY_US 0