Page 1 of 1

Luckfox pico mini b连接屏幕无法显示

Posted: 2024-10-10 7:56
by yeqinfu
开发板子:Luckfox Pico Mini B
屏幕:3.2寸电容屏:http://www.lcdwiki.com/zh/3.2inch_IPS_S ... le_ILI9341
我的代码:https://gitee.com/yeqinfu/luckfox_pico_min_b_rv1103
因为官网没有这块屏幕的代码,所以我就抄官网的代码:https://wiki.luckfox.com/zh/Luckfox-Pic ... sTouch-LCD
想把这个代码改一下,然后调通和这块屏幕的驱动。设备树是这样的:
https://gitee.com/yeqinfu/luckfox_pico_ ... mini-b.dts
我这里是听说cs片选随便自己定义就可以。因为我用官方图:
https://wiki.luckfox.com/zh/assets/imag ... e8eb0c.jpg
的引脚图,发现

Code: Select all

int SYSFS_GPIO_Export(int Pin)
{
    char buffer[NUM_MAXBUF];
    int len;
    int fd;

    fd = open("/sys/class/gpio/export", O_WRONLY);
    if (fd < 0) {
        SYSFS_GPIO_Debug( "Export Failed: Pin%d\n", Pin);
        return -1;
    }

    len = snprintf(buffer, NUM_MAXBUF, "%d", Pin);
    write(fd, buffer, len);
    
    SYSFS_GPIO_Debug( "Export: Pin%d\r\n", Pin);

    close(fd);
    return 0;
}

总是Export Failed ,我也不清楚为啥,所以我代码中定义的cs引脚是普通引脚
理论上执行main文件后,应该屏幕至少点亮才对,但是都不亮。然后我用esp32连接我的屏幕,就没啥问题。示波器也能看到一些输出。

这是我的代码:

Code: Select all



void lcd_test(void)
{
  // Exception handling:ctrl + c
    signal(SIGINT, Handler_LCD);
    /* Module Init */
	if(DEV_ModuleInit() != 0){
        DEV_ModuleExit();
        exit(0);
    }

    //SD_Init();
	LCD_SCAN_DIR  lcd_scan_dir = SCAN_DIR_DFT;
	LCD_Init(lcd_scan_dir,800);
	//TP_Init(lcd_scan_dir); 

	// Paint_CreatImage();
	// GUI_Show(lcd_scan_dir);
	// DEV_Delay_ms(1000);

	// LCD_Show_bmp(lcd_scan_dir);
	// DEV_Delay_ms(1000);

	// TP_GetAdFac();
	// TP_Dialog(lcd_scan_dir);
	// while(1){
	// 	TP_DrawBoard(lcd_scan_dir);  
	// }
	while (1)
	{
		LCD_Clear(WHITE);
	
		  DEV_Delay_ms(500);
		 	LCD_CS_0;
			LCD_DC_0;
		   DEV_INFO();
		  LCD_CS_1;
	     DEV_Delay_ms(500);
		/* code */
		LCD_ReadAllRegisters();
	}
	

	DEV_ModuleExit();

}

且不管后面while循环的东西,按道理在spi和led初始化之后,至少屏幕应该点亮。但是屏幕都没亮。因为刚开始学,也不知道看啥书才能解决这个问题= =!

Re: Luckfox pico mini b连接屏幕无法显示

Posted: 2024-10-10 8:25
by Alenwowo
手动导出这个cs-gpios = <&gpio1 RK_PC0 1>; 引脚能正常工作吗?

Re: Luckfox pico mini b连接屏幕无法显示

Posted: 2024-10-10 8:56
by yeqinfu
二楼问说手动导出cs能不能正常工作,于是为了确认这个问题,我把设备树替换之后,重新烧录,
替换了设备树文件
然后执行
./build.sh clean kernel
然后执行
./build.sh
因为我不知道如何单独编译设备树,我想着直接清理掉内核部分然后打包,好像这样是可以的。如果不行,请告知我。
然后我重新刷到sd卡,把程序的cs片选引脚改为48,因为官方那个引脚图。RK_PC0 按照计算就是32+2*8=48
然后跑了一下不行,如截图

Re: Luckfox pico mini b连接屏幕无法显示

Posted: 2024-10-15 1:24
by Alenwowo
yeqinfu wrote: 2024-10-10 8:56 二楼问说手动导出cs能不能正常工作,于是为了确认这个问题,我把设备树替换之后,重新烧录,
替换了设备树文件
然后执行
./build.sh clean kernel
然后执行
./build.sh
因为我不知道如何单独编译设备树,我想着直接清理掉内核部分然后打包,好像这样是可以的。如果不行,请告知我。
然后我重新刷到sd卡,把程序的cs片选引脚改为48,因为官方那个引脚图。RK_PC0 按照计算就是32+2*8=48
然后跑了一下不行,如截图
由于这个不是我们官方出品的LCD,建议您可以参考一下我们的程序或者是加入我们的交流群和大家一起讨论下194290073