LoginSignup
3
8

More than 3 years have passed since last update.

STM32CubeIDEを使ってみよう How To STM32CubeIDE 日本語版 (10) I2Cを使ってみよう3 ssd1306編

Posted at

STM32CubeIDEを使ってみよう How To STM32CubeIDE 日本語版 (9) I2Cを使ってみよう2 si7020編の続きです。
https://qiita.com/usashirou/items/f59b4b82d7d4086b8936

今回は、OLED ssd1306を使用してみます。

新しいプロジェクトを立ち上げます。
最初は、前回と一緒です。

新規プロジェクトを立ち上げてI2Cの設定をします。
I2C1をI2Cにします。

70-1.jpg
PB8,PB9にI2CのSCLとSDAを割り当てます。

image.png
image.png

それでは、CodeGenerateしましょう。
image.png

次に、ssd1306のファイルを用意します。
https://github.com/4ilo/ssd1306-stm32HAL

必要なのは
- font.h
- font.c
- ssd1306.h
- ssd1306.c
です。

GithubのページからClone or Downloadをクリックし
DownloadZipにてZIPファイルをダウンロードします。
image.png

解凍します。
image.png

必要なファイルは以下に入れます。
Inc
- font.h
- ssd1306.h

Src
- font.c
- ssd1306.c

ファイルをSTM32CubeIDE上でコピーします。
コピーするか、Linkするか聞いてきますのでコピーを選択します。
image.png

次に、コードを追加します。
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編に続きます。

3
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
8