OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5270|回复: 3

RGBLCD章节读取屏幕ID代码

[复制链接]

3

主题

9

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
294
金钱
294
注册时间
2018-3-27
在线时间
36 小时
发表于 2020-2-14 23:53:42 | 显示全部楼层 |阅读模式
本帖最后由 MrWeng 于 2020-2-15 14:51 编辑

在B站学习RGBLCD实验-LCD读取ID以及IO初始化这一节的时候,左神说读取屏幕ID的代码在资料例程里面,但是没有找到,所以照着视频手打了一份,代码如下:
  1. /*这段代码放在bsp_lcd.h里面*/
  2. /*屏幕ID*/
  3. #define ATK4342  0X4342     /* 4.3寸480*272 */
  4. #define ATK4384  0X4384     /* 4.3寸800*480 */
  5. #define ATK7084  0X7084     /* 7  寸800*480 */
  6. #define ATK7016  0X7016     /* 7  寸1024*600 */
  7. #define ATK1018  0X1018     /* 10.1寸1280*800 */
复制代码

  1. /*这段代码放在bsp_lcd.c里面
  2. *读取屏幕ID
  3. *描述:LCD_DATA23=R7(M0);LCD_DATA15=G7(M1);LCD_DATA07=B7(M2);
  4. *      M2:M1:M0
  5. *      0 :0 :0    //4.3寸480*272   RGB屏 ID=0X4342
  6. *      0 :0 :1    //7寸800*480     RGB屏 ID=0X7084
  7. *      0 :1 :0    //7寸1024*600    RGB屏 ID=0X7016
  8. *      1 :0 :1    //10.1寸1280*800 RGB屏 ID=0X1018
  9. *      1 :0 :0    //4.3寸800*480   RGB屏 ID=0X4384
  10. * @param   :无
  11. * @return  :屏幕ID
  12. */
  13. unsigned short lcd_read_paneid(void)
  14. {
  15.     unsigned char idx = 0;
  16.     /*打开模拟开关,设置LCD_VSYNC为高电平*/
  17.     gpio_pin_config_t lcdio_config;
  18.     IOMUXC_SetPinMux(IOMUXC_LCD_VSYNC_GPIO3_IO03,0);//复用为GPIO3-IO03
  19.     IOMUXC_SetPinConfig(IOMUXC_LCD_VSYNC_GPIO3_IO03,0x10b0);

  20.     /*GPIO初始化*/
  21.     lcdio_config.direction = kGPIO_DigitalOutput;
  22.     lcdio_config.outputLogic = 1;
  23.     gpio_init(GPIO3,3,&lcdio_config);

  24.     /*读取屏幕ID*/
  25.     IOMUXC_SetPinMux(IOMUXC_LCD_DATA07_GPIO3_IO12,0);//B7(M2)
  26.     IOMUXC_SetPinMux(IOMUXC_LCD_DATA15_GPIO3_IO20,0);//G7(M1)
  27.     IOMUXC_SetPinMux(IOMUXC_LCD_DATA23_GPIO3_IO28,0);//R7(M0)

  28.     IOMUXC_SetPinConfig(IOMUXC_LCD_DATA07_GPIO3_IO12,0xF080);
  29.     IOMUXC_SetPinConfig(IOMUXC_LCD_DATA15_GPIO3_IO20,0xF080);
  30.     IOMUXC_SetPinConfig(IOMUXC_LCD_DATA23_GPIO3_IO28,0xF080);

  31.     lcdio_config.direction = kGPIO_DigitalInput;
  32.     gpio_init(GPIO3,12,&lcdio_config);
  33.     gpio_init(GPIO3,20,&lcdio_config);
  34.     gpio_init(GPIO3,28,&lcdio_config);
  35.    
  36.     idx  = (unsigned char)gpio_pinread(GPIO3,28);//M0
  37.     idx |= (unsigned char)gpio_pinread(GPIO3,20)<<1;//M1
  38.     idx |= (unsigned char)gpio_pinread(GPIO3,12)<<2;//M2

  39.     if(idx == 0) return ATK4342;
  40.     else if(idx == 1) return ATK7084;
  41.     else if(idx == 2) return ATK7016;
  42.     else if(idx == 4) return ATK4384;
  43.     else if(idx == 5) return ATK1018;
  44.     else return 0;
  45. }
复制代码


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2020-2-17 18:28:19 | 显示全部楼层
多谢分享,这个读取屏幕ID在裸机例程里面添加了,你可以下载最新的例程看一下
回复 支持 反对

使用道具 举报

3

主题

9

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
294
金钱
294
注册时间
2018-3-27
在线时间
36 小时
 楼主| 发表于 2020-2-18 19:59:51 | 显示全部楼层
zuozhongkai 发表于 2020-2-17 18:28
多谢分享,这个读取屏幕ID在裸机例程里面添加了,你可以下载最新的例程看一下

谢谢
回复 支持 反对

使用道具 举报

0

主题

6

帖子

0

精华

新手上路

积分
20
金钱
20
注册时间
2020-6-16
在线时间
3 小时
发表于 2020-8-1 10:55:45 | 显示全部楼层
谢谢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 16:36

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表