#include "lcdDrv.h" #include "osi_api.h" #include "osi_log.h" #include "hal_gouda.h" #include "drv_lcd.h" #include "gui.h" #include "log.h" #define LCD_DRV_ID_ST7735 0x7c89f0 static void _lcdDelayMs(int ms_delay) { osiDelayUS(ms_delay * 1000); } const unsigned char Cmd_xB1[3]={0x05,0x3c,0x3c}; const unsigned char Cmd_xB2[3]={0x05,0x3c,0x3c}; const unsigned char Cmd_xB3[6]={0x05,0x3c,0x3c,0x05,0x3c,0x3c}; const unsigned char Cmd_xB4[1]={0x03}; const unsigned char Cmd_xC0[3]={0x28,0x08,0x04}; const unsigned char Cmd_xC1[1]={0xC0}; const unsigned char Cmd_xC2[2]={0x0D,0x00}; const unsigned char Cmd_xC3[2]={0x8D,0x2A}; const unsigned char Cmd_xC4[2]={0x8D,0xEE}; const unsigned char Cmd_xC5[1]={0x1A}; const unsigned char Cmd_x36[1]={0xC0};//��如果�b 0000-->RGB 0b 1000-->BGR const unsigned char Cmd_xE0[16]={0x04,0x22,0x07,0x0A,0x2E,0x30,0x25,0x2A,0x28,0x26,0x2E,0x3A,0x00,0x01,0x03,0x13}; const unsigned char Cmd_xE1[16]={0x04,0x16,0x06,0x0D,0x2D,0x26,0x23,0x27,0x27,0x25,0x2D,0x3B,0x00,0x01,0x04,0x13}; const unsigned char Cmd_x3A[1]={0x05}; static void cmdDataSet(unsigned char cmd, unsigned char *data, int datalen){ int i; LCD_CtrlWrite_ST7735(cmd); for(i=0;i=0) return; if(++errCnt%20) MSG_WARN(1,"lcd bus errcnt:%d",errCnt); } void LCD_CtrlWrite_ST7735(unsigned char cmd){ int i=100; do{ if(HAL_ERR_NO==halGoudaWriteCmd(cmd)) break; }while(--i>0); showBusErrInfo(i); } void LCD_DataWrite_ST7735(unsigned char data){ int i=100; do{ if(HAL_ERR_NO==halGoudaWriteData(data)) break; }while(--i>0); showBusErrInfo(i); }