STM32CubeIDEを使ってみよう How To STM32CubeIDE 日本語版 (9) I2Cを使ってみよう2 si7020編の続きです。
https://qiita.com/usashirou/items/f59b4b82d7d4086b8936
今回は、OLED ssd1306を使用してみます。
新しいプロジェクトを立ち上げます。
最初は、前回と一緒です。
新規プロジェクトを立ち上げてI2Cの設定をします。
I2C1をI2Cにします。
次に、ssd1306のファイルを用意します。
https://github.com/4ilo/ssd1306-stm32HAL
必要なのは
- font.h
- font.c
- ssd1306.h
- ssd1306.c
です。
GithubのページからClone or Downloadをクリックし
DownloadZipにてZIPファイルをダウンロードします。
必要なファイルは以下に入れます。
Inc
- font.h
- ssd1306.h
Src
- font.c
- ssd1306.c
ファイルをSTM32CubeIDE上でコピーします。
コピーするか、Linkするか聞いてきますのでコピーを選択します。
次に、コードを追加します。
36行目
/* USER CODE BEGIN PD */
#include "ssd1306.h"
#include "fonts.h"
/* USER CODE END PD */
100行目
/* USER CODE BEGIN 2 */
ssd1306_Init();
HAL_Delay(1000);
ssd1306_Fill(White);
ssd1306_UpdateScreen();
HAL_Delay(1000);
ssd1306_SetCursor(23,23);
ssd1306_WriteString("4ilo",Font_11x18,Black);
ssd1306_UpdateScreen();
/* USER CODE END 2 */
Debugします。
OLEDに4iloと表示されると思います。
###コード解説
ssd1306_UpdateScreen();
で表示内容をアップデートします。
ssd1306_Fill(White);
で消去します。
ssd1306_SetCursor(23,23);
は文字の開始点を指します。
109行目の
ssd1306_WriteString("4ilo",Font_11x18,Black);
"4ilo"を書き換えると、表示内容を変更できます。
以上でOLEDが使用可能になりました。
STM32CubeIDEを使ってみよう How To STM32CubeIDE 日本語版 (11) I2Cを使ってみよう4 Si7020+ssd1306編に続きます。