微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 手机设计讨论 > MTK手机平台交流 > mtk 77上面nt35510的lcm_compare_id读出来是00

mtk 77上面nt35510的lcm_compare_id读出来是00

时间:10-02 整理:3721RD 点击:
mtk 77上面要做屏的兼容,nt35510的LCM_compare_id读出来是00
论坛上的方式我都试过了,就是读不出来,屏不亮只有背光亮,另一个屏可以亮;
配置文件中只用这一个屏的话可以点亮,
这是什么情况?哪位师兄们搞过的指点一下

别的IC能读到ID吗?

你确定读id的寄存器读对了吗?

static unsigned int lcm_compare_id()
{
        unsigned int id1 = 0;
        unsigned int id2 = 0;
        //unsigned char buffer[2];
        unsigned int array[16];
        SET_RESET_PIN(1);  //NOTE:should reset LCM firstly
        MDELAY(10);
        SET_RESET_PIN(0);
        MDELAY(50);
        SET_RESET_PIN(1);
        MDELAY(50);

        send_ctrl_cmd(0xF000);
                                send_data_cmd(0x55);
                                send_ctrl_cmd(0xF001);
                                send_data_cmd(0xAA);
                                send_ctrl_cmd(0xF002);
                                send_data_cmd(0x52);
                                send_ctrl_cmd(0xF003);
                                send_data_cmd(0x08);
                                send_ctrl_cmd(0xF004);
                                send_data_cmd(0x01);
                               
            dsi_set_cmdq(array, 3, 1);
             MDELAY(10);
             id1 = spi_read_data(0xC500);
                         id2 = spi_read_data(0xC501);
#if defined(BUILD_LK)
        printf("%s, %d, id1 = 0x%x,id2 = 0x%x\n", __func__, __LINE__, id1,id2);
#endif
                        if(id1==55 && id2==10)
                        {
                                return 1;
                        }
                        else
                        {
                                return 0;
                        }
    //return (LCM_NT35510_ID == id)?1:0;
   
}
FAE告诉我是这样写的,对吗?
我这两块屏做兼容,另一块我看了下也读不到ID

你接的是3线SPI吧?你的sdi有接到sdo上吗?

你这个什么接口的

问题早就解决了,一直没时间来结贴,问题就是spi_send_data这个函数写的不对,次ic是nt35510的,rgb借口,再次与大家分享一下,也感谢大家一直以来乐于回答新手的问题:
static __inline void spi_send_data(unsigned int data)
{
        unsigned int i;
        SET_LSCE_HIGH;
        SET_LSCE_LOW;
        UDELAY(1);
        SET_LSCK_HIGH;
        SET_LSDA_HIGH;
        UDELAY(1);
        for (i = 0; i < 16; i++) {
                SET_LSCK_LOW;
                if (data & (0x8000)) {
                        SET_LSDA_HIGH;
                } else {
                        SET_LSDA_LOW;
                }
                UDELAY(1);
                SET_LSCK_HIGH;
                UDELAY(1);
                data <<= 1;
        }
        SET_LSDA_HIGH;
        SET_LSCE_HIGH;
        SET_LSCK_HIGH;
}

虽然不懂,还是支持一下。

想请问小编你的整个spi读写程序是怎么写的了?我这里也是调试了好几天还没有解决

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top