Longan Nano には、基板上に 0.96inch 160×80 の LCD が搭載されています.このデバイスの詳細な技術情報はデータシート等にも記載がないため見つかりませんが、Sipeed 公式サイトにあるサンプルを使って制御することができますので試してみました.
サンプルコードを使った LCD 表示手順
まずは下記サイトから LCD のサンプルコード gd32v_lcd をダウンロードします.
Longan_GD32VF_examples のダウンロード
ダウンロードしたサンプルプログラムのフォルダを開き、“include” フォルダ内の “lcd” フォルダと “systick.h” を PlatformIO プロジェクト側の “include” フォルダへコピー、同様に “src” フォルダの “lcd” フォルダと “systick.c” も同様に PlatformIO プロジェクト側にコピーしておきます.
プロジェクトの main.c 内に以下の内容を追記し、ビルド・書き込みます.
#include "lcd/lcd.h"
int main(void)
{
Lcd_Init(); // LCD を初期化
LCD_Clear( CYAN ); // LCD をクリア
BACK_COLOR = BLACK; // 文字の背景色
LCD_ShowString( 5, 5, "Hello World", GREEN );
LCD_ShowString( 5, 22, "mytoolbox.tech/tec", GREEN );
while(1);
}
今回使用した LCD 制御ライブラリでは、上記の例で使用した文字表示の関数(LCD_ShowString)のほか、以下のような簡単な描画関数も定義されています.
/* LCD の初期化 */
void Lcd_Init(void);
/* LCD の画面クリア */
void LCD_Clear(u16 Color);
/* 点の描画 */
void LCD_DrawPoint(u16 x,u16 y,u16 color);
void LCD_DrawPoint_big(u16 x,u16 y,u16 color);
/* 矩形の描画(塗りつぶし) */
void LCD_Fill(u16 xsta,u16 ysta,u16 xend,u16 yend,u16 color);
/* 線の描画 */
void LCD_DrawLine(u16 x1,u16 y1,u16 x2,u16 y2,u16 color);
/* 矩形の描画 */
void LCD_DrawRectangle(u16 x1, u16 y1, u16 x2, u16 y2,u16 color);
/* 円の描画 */
void Draw_Circle(u16 x0,u16 y0,u8 r,u16 color);
/* bmp イメージを描画(image[]に格納したデータを表示) */
void LCD_ShowPicture(u16 x1,u16 y1,u16 x2,u16 y2);
/* Sipeed のロゴを描画(logo_bmp[]に格納したデータを表示) */
void LCD_ShowLogo(void);
参考
Longan nano サンプルコード
Sipeed Longan Nanoで文字を表示してみる