Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
0
Help us understand the problem. What is going on with this article?
@myston

Longan nano で Hello World!

More than 1 year has passed since last update.

Sipeed Longan nanoで付属のLCDに定番のHello World!を表示してみます。
ただ、私の技術力が足りずあまりにもひどい実現方法であることをお許し下さい。

LCDの解像度は160x80、フルカラーです。
1000円以下のボードなのに、良心的ですね。

Longan_GD32VF_examplesをダウンロードする

私に知識がないので、ありものを改造する方向にします。
Longan_GD32VF_examples

上記から、Longan_GD32VF_examplesをダウンロードします。
これ、Badapple!!の本体です。
これにはLCDへの出力部分、microSDカードとのインターフェース部分が備わっており、これをみるだけでも勉強になりそうです。

gd32v_lcdをVScodeのplatformIOで開く

ダウンロードしたファイルを解凍するとgd32v_lcdというフォルダがありますので、フォルダをVScodeのplatformIOで開きます。

main.cを書き換える

開いたら、srcディレクトリにmain.cがあることがわかりますので、中を見ます。
「ははーん、こういう風になってるんだな。Longan nano完全に理解した」

…いやいや、無理無理w
というわけで、中身をざっくり全部消去して、下記のコードに書き換えます。

#include "lcd/lcd.h"
#include <string.h>

int main(void)
{

    Lcd_Init();         // init OLED
    LCD_Clear(BLACK);
    BACK_COLOR=BLACK;


        LCD_ShowString(0,  0, (u8 *)("Hello World!"), WHITE);
        LCD_ShowString(0, 16, (u8 *)("Hello World!"), BLUE);
        LCD_ShowString(0, 32, (u8 *)("Hello World!"), BRED);
        LCD_ShowString(0, 48, (u8 *)("Hello World!"), GBLUE);
        LCD_ShowString(0, 64, (u8 *)("Hello World!"), RED);
        Draw_Circle(120,40,25,RED);
        LCD_DrawLine(120,0,130,80,BLUE);
        LCD_DrawRectangle(120,40,159,79,GREEN);
        LCD_Fill(130,20,150,30,MAGENTA);

}

書き換えたら、ビルドしてLongan nanoをDFUモードにして書き込みましょう。

LCDにHello world!表示

LCDの左側に文字、右の方に丸、四角、直線、塗りつぶし四角が表示されます。

IMG_0547.JPG

日本語のフォントは入っていないので、日本語を表示させたい場合はフォントを作るしかありません。

あれ?ハロワになってる…wwww

platformIOのnewProjectしたときに、今回のLCD.hとか必要なライブラリ(というんでしょうか?)が入ってるようにするためにはどうしたらいいんですかね?
あと、どのファイルが必要でどのファイルが必要じゃないかが、よくわかってないです。
この辺の知識付けていかないとダメですね。

0
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
myston
フリーランスで「なんとかしたい」をなんとかする的なことをしています。 どこかのお店を手伝ったり、どこかのコワーキングスペースの内装や机作成手伝ったり、業務プロセスリビルダーだったりする「なんとかしたい」をなんとかするお仕事をしていきたいと思っています。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
0
Help us understand the problem. What is going on with this article?