问题描述
在使用FBTFT驱动ILI9341屏幕时,出现白屏无反应。但是fbtft设备已经挂载成功,如下所示:
[ 1.015507] fbtft_of_value: buswidth = 8
[ 1.019597] fbtft_of_value: debug = 0
[ 1.023301] fbtft_of_value: rotate = 270
[ 1.027247] fbtft_of_value: fps = 30
[ 1.105666] mmc0: host does not support reading read-only switch, assuming write-enable
[ 1.116098] mmc0: new high speed SDHC card at address b368
[ 1.122749] mmcblk0: mmc0:b368 CBADS 30.0 GiB
[ 1.129693] mmcblk0: p1 p2
[ 1.462347] Console: switching to colour frame buffer device 40x30
[ 1.472900] graphics fb0: fb_ili9341 frame buffer, 320x240, 150 KiB video memory, 16 KiB buffer memory, fps=33, spi1.0 at 32 MHz
[ 1.517699] NET: Registered protocol family 17
问题分析
更换屏幕使用OLED发现OLED屏幕可以驱动,并且显示正常。
经过和荔枝派群友的交流得知在F1C100 芯片上使用fbtft屏幕需要保证屏幕上CS引脚连接到F1C100 的SPI CS引脚上,不可悬空或者接地。
翻阅数据手册发现全篇都没有具体描述CS引脚该怎么接,只是很简单说在使用时候需要拉低。
解决方法
我购买的是中景园的老款屏幕,如下图所示。
从图中可以看到老款的屏幕是没有引出CS引脚的,因此我们需要手动进行飞线,将pin5飞出。
飞线成功后点亮屏幕如下图所示: