首页 > 技术支持 > 应用与案例 > 正文
如何解决MCU与RA8889等液晶控制芯片的SPI通信问题 作者:Harchy   发表日期:2020-03-04   来源:菱致电子   浏览:

MCU通过SPI连接RA8889等芯片故障怎么解决?

【硬件检查】
一、确定硬件连接是否正确,并确认连接通断,见下图:


二、确定控制芯片(RA8889等)相关电压是否正常?VCC=3.3V, LDO=1.2V,如果电压不正常则检查输入连接,以及是否虚焊;另外要确保VCC电压干净,注意是否有外部干扰造成纹波过大。然后再确认晶振信号是否起振?如果不振,则确认是否有并联1M欧电阻?或者可以换一颗晶振测试。

【软件检查】
三、检查初始化:userdef.h中宏定义是否正确。如果正确,则可以单步运行。如果单步运行时在与RA8889通信时卡住,则说明通信不正常,这时候先检查引脚配置,若没有问题,再测试读写寄存器是否正常,方法如下:

unsigned char temp;

//寄存器写入
LCD_CmdWrite(0xAD);
LCD_DataWrite(0x11);


//寄存器读回
LCD_CmdWrite(0xAD);
temp = LCD_DataRead();

 

//判断是否正常方法
if(temp==0x11)
{
//可通过点亮LED作为指示
}

 

 四、确定可正常读写RA8889等的寄存器之后,才进行初始化的检查。请先单步运行,看看是具体在哪里卡住,逐一排查。参考代码已打包在这个函数:
RA8889_Initial();  或者 RA8876_Initial(); 等。

由于SPI接口采用模拟IO口通信,为何使用模拟IO口?因为兼容性较好。如果用户想采用MCU的硬件SPI接口也可以,但需要验证。理论上RA8889的SPI可以达到最高50MHz的通信速度。

需要注意的是通信延时函数需要注意变更为用户自己的函数,否则SPI时序可能错误造成通信异常。

基本上以几步确认完之后初始化就可以跑通了,说明SPI通信已正常。如果液晶屏参数配置正确,初始化后可以看到彩虹条显示1秒后关闭:

在初始化函数最后面的代码,如下: 
Color_Bar_ON();
delay_seconds(1);
Color_Bar_OFF();


分享到:

相关热词搜索:RA8889 RA8876 RA8873 RA8871 SPI

上一篇:第一页
下一篇:RA8889配套上位机使用简介

>>延伸阅读:1

  • · RA8889配套上位机使用简介 [2020-09-01]
  • · 介绍一颗51单片机就可以进行视频解码的芯片方案1366x768 [2020-09-07]
  • · RA88xx系列对显存直接读写点的方法 [2020-09-10]
  • · NAND FLASH的调用 [2020-09-14]
  • · 图片转为头文件通过单片机直接写入 [2020-09-15]