diff --git a/board/Sipeed_LonganNano/BSP/Hardware/lcd/lcd.c b/board/Sipeed_LonganNano/BSP/Hardware/lcd/lcd.c index 20d8dc5b..859f8b81 100644 --- a/board/Sipeed_LonganNano/BSP/Hardware/lcd/lcd.c +++ b/board/Sipeed_LonganNano/BSP/Hardware/lcd/lcd.c @@ -408,7 +408,12 @@ void LCD_ClearRect(uint16_t Color, uint16_t x, uint16_t y, uint16_t width, uint1 void LCD_ShowChinese(uint16_t x, uint16_t y, uint8_t index, uint16_t color) { - const uint8_t *p = (uint8_t*) &(Hzk[index*2][0]); + LCD_ShowChineseWithFonts(x, y, Hzk, index, color); +} + +void LCD_ShowChineseWithFonts(uint16_t x, uint16_t y, const char fonts[][16], uint8_t index, uint16_t color) +{ + const uint8_t *p = (uint8_t*) &(fonts[index*2][0]); //[数据排列]:从左到右从上到下 [取模方式]:纵向8点下高位 [正负反色]:否 LCD_Address_Set(x, y, 16, 16); diff --git a/board/Sipeed_LonganNano/BSP/Hardware/lcd/lcd.h b/board/Sipeed_LonganNano/BSP/Hardware/lcd/lcd.h index 9a748c6c..9c2d6e3e 100644 --- a/board/Sipeed_LonganNano/BSP/Hardware/lcd/lcd.h +++ b/board/Sipeed_LonganNano/BSP/Hardware/lcd/lcd.h @@ -63,6 +63,7 @@ void LCD_SetDisplayMode(lcd_display_mode_t m); void LCD_Clear(uint16_t Color); void LCD_ClearRect(uint16_t Color, uint16_t x, uint16_t y, uint16_t width, uint16_t height); void LCD_ShowChinese(uint16_t x,uint16_t y,uint8_t index,uint16_t color); +void LCD_ShowChineseWithFonts(uint16_t x,uint16_t y, const char fonts[][16], uint8_t index,uint16_t color); void LCD_DrawPoint(uint16_t x,uint16_t y,uint16_t color); void LCD_Fill(uint16_t xsta,uint16_t ysta,uint16_t xend,uint16_t yend,uint16_t color); void LCD_DrawLine(int16_t x1, int16_t y1, int16_t x2, int16_t y2, uint16_t color);