| 为什么说不能90度旋转呢,只能解释为没有仔细读手册,或者说是读了没有理解。官方手册写得很明确,Hardware rotation of 0, 90, 180, 270 degree 光说不给答案不厚道,以下是我用的横竖屏旋转的代码,可以参考一下。
 
 #define CMD_SetCoordinateX    0x2A      //设置X坐标 set column address
 #define CMD_SetCoordinateY    0x2B      //设置Y坐标
 #define CMD_WriteGram         0x2C      //写GRAM(图像内存)
 
 void _BSP_LCD_SetParam(void)
 {
 uint8_t dirSet = 0x00;
 LCDParam.writeGramCmd = CMD_WriteGram;     //写GRAM
 if(LCD_SCAN_DIR % 2 != 0)
 { //竖屏
 LCDParam.setXPositionCmd = CMD_SetCoordinateY;   //设置X坐标
 LCDParam.setYPositionCmd = CMD_SetCoordinateX;   //设置Y坐标
 LCDParam.xdirectionSize = LCD_SHORTSIDE;
 LCDParam.ydirectionSize = LCD_LONGSIDE;
 if(LCD_SCAN_DIR == 1) dirSet = 0x21;
 if(LCD_SCAN_DIR == 3) dirSet = 0x22;
 }else{  //横屏
 LCDParam.setXPositionCmd = CMD_SetCoordinateX;   //设置X坐标
 LCDParam.setYPositionCmd = CMD_SetCoordinateY;   //设置Y坐标
 LCDParam.xdirectionSize = LCD_LONGSIDE;
 LCDParam.ydirectionSize = LCD_SHORTSIDE;
 if(LCD_SCAN_DIR == 0) dirSet = 0x00;
 if(LCD_SCAN_DIR == 2) dirSet = 0x03;
 }
 _BSP_LCD_WriteValue(CMD_GramDirection, dirSet);    //控制存储器的读写方向
 _BSP_LCD_SetWindows(0, 0, LCDParam.xdirectionSize, LCDParam.ydirectionSize);
 }
 |