OpenEdv-开源电子网

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

mini板LCD读写,LCD初始化,通过以下代码读ILI9341的ID信息,总是读参数为0x0101,三四天了都没弄明白,是不是读写函数的时序...

[复制链接]

1

主题

1

帖子

0

精华

新手入门

积分
5
金钱
5
注册时间
2020-11-2
在线时间
0 小时
发表于 2022-10-11 21:45:16 | 显示全部楼层 |阅读模式
1金钱
LCD的CS、RS、RD、WS、BL对应的GPIO设置为推挽输出;

#define LCD_RS PCout(8)
`````

void Lcd_Write(u8 CD, u16 Date)
{
        GPIOB->CRL=0X33333333;   //推挽输出
        GPIOB->CRH=0X33333333;

        LCD_RS = CD;      //CD = 0,写数据; CD = 1,写命令;
        LCD_CS = 0;
        GPIOB->ODR = Date;
        LCD_WR = 0;
        LCD_WR = 1;
        LCD_CS = 1;
}

u16 Lcd_Read(void)
{
        u16 Read_value;
       
        GPIOB->CRL = 0X44444444;    //浮空输入
        GPIOB->CRH = 0X44444444;
       
        GPIOB->ODR = 0;
        GPIOB->IDR = 0xffffffff;
       
        LCD_RS = 1;       
        LCD_CS = 0;
        Read_value = GPIOB->IDR;
        LCD_RD = 0;
        LCD_RD = 1;
        LCD_CS = 1;

        return Read_value;
}
u16 Read_Classify()
{
        u16 symbol = 0 ;
        u16 value;

        Lcd_Write(0, 0xD3);     //写0xd3命令, 获取ILI控制的ID
       
        symbol = Lcd_Read();   //dummy参数
        symbol = Lcd_Read();  
        symbol = 0;
        symbol = Lcd_Read();  //得到ID的高8位
        symbol = symbol<<8;  //先右移8位,"为了后续得到低8位后获得完整ID信息"
        symbol = symbol|(( value = Lcd_Read()) & 0xff);  //得到低8位信息,并计算得到完整ID信息
       
        return symbol;  //返回ID,通过串口打印至调试助手;
}


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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2022-10-13 01:53:07 | 显示全部楼层
直接用例程试试?能成功么?
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-22 06:21

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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