硬件连接如下图所示
很抱歉现在才进行回复,您可以把更早的日志发出来嘛?没有意外的话这应该是选错屏幕导致无法读到ID导致的
[11:05:29.943]收←◆SFBL
[11:05:31.997]收←◆Serial:c2,Chip:4,Package:6,Rev:7 Reason:00000040
\ | /
- SiFli Corporation
/ | \ build on May 30 2025, 2.4.0 build 76f6525c
2020 - 2022 Copyright by SiFli team
mount /dev sucess
[311] I/drv.rtc main: PSCLR=0x80000100 DivAI=128 DivAF=0 B=256
[341] I/drv.rtc main: RTC use LXT RTC_CR=00000001
[363] I/drv.rtc main: Init RTC, wake = 1
[392] I/drv.audprc main: init 00 ADC_PATH_CFG0 0x606
[415] I/drv.audprc main: HAL_AUDPRC_Init res 0
[436] I/drv.audcodec main: HAL_AUDCODEC_Init res 0
[457] I/TOUCH main: Regist touch screen driver, probe=0x12026071
call par CFG1(3313)
fc 9, xtal 2000, pll 2082
call par CFG1(3313)
fc 7, xtal 2000, pll 1667
[638] I/drv.lcd main: [NONE] -> [OPENING]
[658] I/drv.lcd lcd_task: open
[671] I/drv.epic lcd_task: drv_gpu opened.
[688] I/drv.lcd lcd_task: HW open
[717] I/drv.lcd lcd_task: Try registered LCD driver...
msh />
[11:05:32.083]收←◆
CO5300_ReadID 0x331100
[3021] I/co5300 lcd_task: LCD module use CO5300 IC
[11:05:32.275]收←◆
CO5300_ReadID 0x331100
[9290] I/co5300 lcd_task: LCD module use CO5300 IC
[9310] I/drv.lcd lcd_task: Found lcd co5300 i
[11:05:32.308]收←◆d:331100h
[9332] I/drv.lcd lcd_task: HW open done.
[9348] I/drv.lcd lcd_task: [OPENING] -> [INITIALIZED]
[9368] I/drv.lcd lcd_task: open done.
[9387] I/drv.lcd_fb main: drv_lcd_fb_init
[9406] I/drv.lcd_fb main: drv_lcd_fb_init done.
[9517] I/TOUCH main: Open
[9533] I/TOUCH tp_init: Find touch screen driver...
[9554] I/TOUCH tp_init: Probe 12026071
[9572] I/TOUCH tp_init: touch screen found driver 0x2001ddc4, ft6146
[9600] I/TOUCH main: Opened.
[9614] I/LVGL main: [littlevgl2rtt] Welcome to the littlevgl2rtt lib.
[11:05:32.368]收←◆[12370] E/drv.i2c tp_init: bus err:1, xfer:0/2, i2c_stat:20, i2c_errcode=21
[12407] E/drv.i2c tp_init: reset and send 9 clks
[11:05:32.394]收←◆
[12427] E/drv.i2c tp_init: bus err:1, xfer:0/2, i2c_stat:20, i2c_errcode=21
[12459] E/drv.i2c tp_init: reset and send 9 clks
[11:05:32.800]收←◆[26523] E/drv.lcd lcd_task: draw_core timeout
[26542] E/drv.lcd lcd_task: Error, Clear p_drv_ops 120d831c, sem_v=0
[26568] E/drv.lcd lcd_task: irq_en=0
[26583] E/drv.lcd lcd_task: LCDC1_irq_en=1, active=0, pending=0
[26607] E/drv.lcd lcd_task: hlcdc errcode=0, lock=0, state=2
[26630] E/drv.lcd lcd_task: LCDC STATUS=1,TE=3
[26648] E/drv.lcd lcd_task: HAL dbg cnt 1, 1, 0
[26666] E/drv.lcd lcd_task: DRV dbg cnt 1, 0, 0
[26685] E/drv.lcd lcd_task: LCDC CANVAS TL=0,BR=1c10185,SETTING=a0141,IRQ=0
[26713] E/drv.lcd lcd_task: LCDC LAYER0 CFG=14618ff0,TL=0,BR=1c10185,SRC=60000000,DEC=0
[26746] E/drv.lcd lcd_task: LCDC LAYER1 CFG=0,TL=0,BR=0,SRC=0
[11:05:32.837]收←◆[27738] E/drv.lcd lcd_task: Error, Clear p_drv_ops 120d831c, sem_v=0
[27764] E/drv.lcd lcd_task: irq_en=0
[27778] E/drv.lcd lcd_task: LCDC1_irq_en=1, active=0, pending=0
[27802] E/drv.lcd lcd_task: hlcdc errcode=0, lock=0, state=2
[27825] E/drv.lcd lcd_task: LCDC STATUS=1,TE=3
[27843] E/drv.lcd lcd_task: HAL dbg cnt 1, 1, 0
[27862] E/drv.lcd lcd_task: DRV dbg cnt 1, 0, 0
[27880] E/drv.lcd lcd_task: LCDC CANVAS TL=0,BR=1c10185,SETTING=a0141,IRQ=0
[27908] E/drv.lcd lcd_task: LCDC LAYER0 CFG=14618ff0,TL=0,BR=1c10185,SRC=60000000,DEC=0
[27941] E/drv.lcd lcd_task: LCDC LAYER1 CFG=0,TL=0,BR=0,SRC=0
[27965] I/drv.lcd lcd_task: [INITIALIZED] -> [TIMEOUT]
[27986] E/drv.lcd lcd_task: lcd_timeout_error draw_core, 1822
Assertion failed at function:draw_core, line number:1823 ,(0)
Previous ISR enable 0
===================
Thread Info
===================
pri status sp top stack size max used left tick error
-------- --- ------- ---------- ---------- ---------- ------ ---------- ---
tpread 10 suspend 0x2001bfb8 0x2001c0c8 0x00000400 26% 0x0000000a 000
lcd_task 12 ready 0x2001bb28 0x2001bcc8 0x00000800 46% 0x00000007 000
tshell 20 suspend 0x20024c40 0x20024dc0 0x00001000 16% 0x0000000a 000
tidle 31 ready 0x20020e50 0x20020ea8 0x00000200 19% 0x00000011 000
timer 4 suspend 0x2001c3c0 0x2001c4c8 0x00000400 26% 0x00000009 000
main 19 suspend 0x20022da8 0x20023050 0x00001000 48% 0x00000007 000
===================
Mailbox Info
===================
entry size suspend thread
------- ---- ---- --------------
===================
MessageQueue Info
===================
entry suspend thread
-------- ---- --------------
drv_lcd 0000 0
===================
Mutex Info
===================
owner hold suspend thread
-------- -------- ---- --------------
tplck (null) 0000 0
rtc (null) 0000 0
ulog loc (null) 0000 0
fslock (null) 0000 0
i2c_bus_ (null) 0000 0
i2c_bus_ (null) 0000 0
i2c_bus_ (null) 0000 0
spi1 (null) 0000 0
===================
Semaphore Info
===================
v suspend thread
-------- --- --------------
lv_data 001 0
tp_ctrl 001 0
lv_lcd 000 0
lcd_msg 000 0
lcd_draw 000 0
drv_lcd 000 0
shrx 000 0
epic 001 0
ft6146 000 1:tpread
aes_drv 001 0
drv_eDma 001 0
gpadc 001 0
i2c4 000 0
i2c2 000 0
i2c1 000 0
spi1 000 0
heap 001 0
flash2 001 0
===================
Memory Info
===================
total memory: 384676 used memory : 22404 maximum allocated memory: 26808
===================
MemoryHeap Info
===================
pool size max used size available size
------- ---------- ------------- --------------
=====================
PSP: 0x0x2001bba4, MSP: 0x0x20001fe0
=====================
sp: 0x2001bc00
psr: 0x40000000
r00: 0x00000000
r01: 0x00000017
r02: 0x000002d0
r03: 0x30000000
r12: 0x12076bc1
lr: 0x1206a9bb
pc: 0x2000591c
=====================
fatal error on thread: lcd_task?
应该使用--board=sf32lb52-nano_52j
进行编译,有一些IO定义不同
你的意思是,如果不触摸屏幕的话,上面的内容可以一直刷新吗
是的,跑的example里的lvgl8 demo
目前的屏幕转接板没有添加上拉电阻,可能会导致I2C通信异常。可以尝试降低I2C速率到100k甚至更低。修改I2C代码速率的代码见https://github.com/OpenSiFli/SiFli-SDK/blob/main/customer/peripherals/ft6146/ft6146.c#L421