OpenEdv-开源电子网

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

新手虚心请教下TFTLCD读取驱动芯片ID一直是FFFF。

[复制链接]

4

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
68
金钱
68
注册时间
2012-8-9
在线时间
7 小时
发表于 2012-11-28 11:04:52 | 显示全部楼层 |阅读模式
板子是原子的Mini STM32.程序基本上都是原子送的例程,自己读懂以后基本上都是抄写了一遍,只不过程序只对应我板子上的芯片型号(先下载了例程,串口输出的芯片ID是4531),所以只保留了该芯片的初始化程序,并直接使用竖屏和快速IO模式。
现在的情况是,屏幕能够正常显示,各个功能函数能够正常使用,就是那个读取ID返回的值一直是FFFF。非常不解,请大家帮忙纠正下!谢谢~~~
 delay_ms(50); // delay 50 ms
 LCD_WriteReg(0x0000,0x0001); //打开TFTLCD模块的振荡器
 delay_ms(50); // delay 50 ms
 DeviceCode = LCD_ReadReg(0x00);  //读取TFTLCD驱动芯片的型号 
 printf(" LCD ID:%x\n",DeviceCode); //打印LCD ID
//上面的读取ID的函数没有修改啊,为何返回值就不对了呢,但是使用原子的程序又没有什么问题!

//驱动芯片初始化 芯片型号4531,直接拷贝,没有修改的
 LCD_WriteReg(0X00,0X0001);  
 delay_ms(10);  
 LCD_WriteReg(0X10,0X1628);  
 LCD_WriteReg(0X12,0X000e);//0x0006   
 LCD_WriteReg(0X13,0X0A39);  
 delay_ms(10);  
 LCD_WriteReg(0X11,0X0040);  
 LCD_WriteReg(0X15,0X0050);  
 delay_ms(10);  
 LCD_WriteReg(0X12,0X001e);//16   
 delay_ms(10);  
 LCD_WriteReg(0X10,0X1620);  
 LCD_WriteReg(0X13,0X2A39);  
 delay_ms(10);  
 LCD_WriteReg(0X01,0X0100);  
 LCD_WriteReg(0X02,0X0300);  
 LCD_WriteReg(0X03,0X1030);//改变方向的  
 LCD_WriteReg(0X08,0X0202);  
 LCD_WriteReg(0X0A,0X0008);  
 LCD_WriteReg(0X30,0X0000);  
 LCD_WriteReg(0X31,0X0402);  
 LCD_WriteReg(0X32,0X0106);  
 LCD_WriteReg(0X33,0X0503);  
 LCD_WriteReg(0X34,0X0104);  
 LCD_WriteReg(0X35,0X0301);  
 LCD_WriteReg(0X36,0X0707);  
 LCD_WriteReg(0X37,0X0305);  
 LCD_WriteReg(0X38,0X0208);  
 LCD_WriteReg(0X39,0X0F0B);  
 LCD_WriteReg(0X41,0X0002);  
 LCD_WriteReg(0X60,0X2700);  
 LCD_WriteReg(0X61,0X0001);  
 LCD_WriteReg(0X90,0X0210);  
 LCD_WriteReg(0X92,0X010A);  
 LCD_WriteReg(0X93,0X0004);  
 LCD_WriteReg(0XA0,0X0100);  
 LCD_WriteReg(0X07,0X0001);  
 LCD_WriteReg(0X07,0X0021);  
 LCD_WriteReg(0X07,0X0023);  
 LCD_WriteReg(0X07,0X0033);  
 LCD_WriteReg(0X07,0X0133);  
 LCD_WriteReg(0XA0,0X0000);
    //驱动芯片初始化完毕
   
    LCD_LED = 1;//点亮背光 
 LCD_Clear(WHITE);
}
抛弃浮躁,努力学习~~~
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-11-28 14:21:50 | 显示全部楼层
没这么怪异吧?你断电,重新上电试试。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

初级会员

Rank: 2

积分
56
金钱
56
注册时间
2012-10-30
在线时间
8 小时
发表于 2012-12-7 12:13:08 | 显示全部楼层


ALIENTEK MINISTM32 实验10 TFTLCD显示实验
int main(void)
 {
    u8 x=0;
    SystemInit();
    delay_init(72);         //延时初始化
    NVIC_Configuration();
    uart_init(9600);
     LED_Init();
    KEY_Init();
    LCD_Init();
    POINT_COLOR=RED;
    while(1)
    {         
        switch(x)
        {
            case 0CD_Clear(WHITE);break;
            case 1CD_Clear(BLACK);break;
            case 2CD_Clear(BLUE);break;
            case 3CD_Clear(RED);break;
            case 4CD_Clear(MAGENTA);break;
            case 5CD_Clear(GREEN);break;
            case 6CD_Clear(CYAN);break;

            case 7CD_Clear(YELLOW);break;
            case 8CD_Clear(BRRED);break;
            case 9CD_Clear(GRAY);break;
            case 10:LCD_Clear(LGRAY);break;
            case 11:LCD_Clear(BROWN);break;
        }
        POINT_COLOR=RED;     
        LCD_ShowString(30,50,"Mini STM32 ^_^");   
        LCD_ShowString(30,70,"2.4'/2.8' TFTLCD TEST");   
        LCD_ShowString(30,90,"ATOM@ALIENTEK");
        LCD_ShowString(30,110,"2010/12/30");                             
        x++;
        if(x==12)x=0;
        LED0=!LED0;                     
        delay_ms(1000);   
    }   

 }
u16 LCD_ReadReg(u8 LCD_Reg)
{                                          
    u16 t;
    LCD_WR_REG(LCD_Reg);  //写入要读的寄存器号 
    GPIOB->CRL=0X88888888; //PB0-7  上拉输入
    GPIOB->CRH=0X88888888; //PB8-15 上拉输入
    GPIOB->ODR=0XFFFF;    //全部输出高
。。。。
GPIOB->CRL=0X33333333; //PB0-7  上拉输出
    GPIOB->CRH=0X33333333; //PB8-15 上拉输出
    GPIOB->ODR=0XFFFF;    //全部输出高
    return t; 
所以:
DeviceCode = LCD_ReadReg(0x0000);  
DeviceCode =0XFFFF;




回复 支持 反对

使用道具 举报

4

主题

27

帖子

0

精华

高级会员

Rank: 4

积分
890
金钱
890
注册时间
2016-12-2
在线时间
39 小时
发表于 2017-5-21 11:41:19 | 显示全部楼层
这个问题我也遇到了,这么久远的帖子,不知道还有没有人理我,我也是读取id一直是ffff,代码没有问题,我在别的板子上测试过的。觉得是硬件问题,可是就是不知道应该是硬件哪里错了。毕竟还有其他的问题也存在着。
http://www.openedv.com/forum.php ... d=102456&extra=
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-8-21 11:04

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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