2012.07.09 关于lcd_ILI9486 读id的问题

      ILI9486读取ID比一般的LCD稍微繁琐,需要额外几个步骤,先记录如下:

1):使用的是SPI_RGB接口。

2):读ILI9486 datasheet,查看各个寄存器的作用,可以看到两个寄存器与此相关,第一个是regB0H,这个寄存器中的D7位即SDA_EN位控制着3/4wire serial interface selection,

     SDA_EN置0 :DIN/DOUT pin 打开,可以用作3/4线的连续接口;

    SDA_EN置1:DIN/SDA pin用作3/4线的连续接口,DOUTpin 不再使用;

第二个寄存器是regFBH;这个寄存器中包含了两个关键的地方,一个是SPI_READ_EN位即D4位,该为表示了SPI read enable。置1时表示可以进行spi read。另一个就是D2-D0位即SPI_CNT[3:0]位。这三位表示了将要对某一位寄存器读取时读这个寄存器的某一位;

3):这里需要非常注意的是:在每次进行spi read时都要重新设置RFBH寄存器一次。

4):ILI9486的寄存器读取reg是D3H,在读该寄存器之前需要设置上面的两个寄存器B0H、FBH,然后设置D3H,从里面读取ILI9486的ID,注意读取D3H的ID时是一位一位读的,比如你需要读取D3H的第2位,那么在设置FBH时,你就需要将FBH的寄存器的值置为0X0012H,此时读出的是94,下一次读取D3H的第3位时,必须要将FBH在从新设置一次,置为0X0013H,再一次读取D3H后,将会读到86,至此ILI9486的ID就被读了出来。

      该ID值的读取比较坑跌,在查看了datasheet,询问了厂商三次之后,才得到确认需要设置别的reg才能读取到正确的ID,可见很大部分的有用信息其实都在datasheet上,但是由于本人英文水平有限,对查看datasheet比较抗拒,这次是读了一个星期实在读不出来,只好仔细查看datasheet,最后解决了该问题。突然想到一句话,人都是逼出来。。。哎!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值