8位驱动240X320 LCD 刷屏慢,有办法提高吗?

2019-12-27 18:42发布

GPIOC 口 低8bit 是数据口,高8bit 分别接的 CS , RST , RS , WR , RD 。 现在程序跑刷屏 每秒3、4帧这样, 可以很明显看到滚动, 还有办法提高吗?

读写函数如下


#define ILI9341_CS_PIN        GPIO_Pin_12
#define ILI9341_RS_PIN        GPIO_Pin_10
#define ILI9341_WR_PIN        GPIO_Pin_9
#define ILI9341_RD_PIN        GPIO_Pin_8

#define ILI9341_RST_PIN      GPIO_Pin_11
#define ILI9341_PORT         GPIOC

#define ILI9341_CS_LOW()      GPIOC->BRR =  ILI9341_CS_PIN
#define ILI9341_CS_HIGH()     GPIOC->BSRR =  ILI9341_CS_PIN

#define ILI9341_RST_LOW()     GPIOC->BRR =  ILI9341_RST_PIN
#define ILI9341_RST_HIGH()    GPIOC->BSRR =  ILI9341_RST_PIN

#define ILI9341_RD_LOW()      GPIOC->BRR =  ILI9341_RD_PIN
#define ILI9341_RD_HIGH()     GPIOC->BSRR =  ILI9341_RD_PIN

#define ILI9341_RS_LOW()      GPIOC->BRR =  ILI9341_RS_PIN
#define ILI9341_RS_HIGH()     GPIOC->BSRR =  ILI9341_RS_PIN

#define ILI9341_WR_LOW()      GPIOC->BRR =  ILI9341_WR_PIN
#define ILI9341_WR_HIGH()     GPIOC->BSRR =  ILI9341_WR_PIN


void ILI9341_WriteReg(uint8_t DataHH)                       
{
        
  ILI9341_CS_LOW();
       
  ILI9341_RD_HIGH();   
  ILI9341_RS_LOW();
  
  GPIOC->ODR = (GPIOC->ODR & 0xFF00) + DataHH;         
   
  ILI9341_WR_LOW();
  ILI9341_WR_HIGH();
  ILI9341_CS_HIGH();

}
//***********************************************************

//***********************************************************
void ILI9341_WriteData(uint8_t  DataHH)                               
{

  ILI9341_CS_LOW();
  ILI9341_RD_HIGH();
  ILI9341_RS_HIGH();
       
  GPIOC->ODR = (GPIOC->ODR & 0xFF00) + DataHH;
      
  ILI9341_WR_LOW();

  ILI9341_WR_HIGH();
  ILI9341_CS_HIGH();
         
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。