STM32F303K8とOLED、AL12832AWWB-H-U02でHello Worldを表示2(Mbed)
x mbedが使える人が対象
x SSD1306_128x32
1.mbedでstm32f303k8をコンパイル出来るようにする。
2.新規プログラムを開く
3.下記のソースを描く。
4.oledのライブラリをインストールする。
Dai YokotaさんのSSD1306_128x64_I2Cライブラリを使用した。
https://os.mbed.com/users/jk1lot/code/SSD1306_128x64_I2C/file/46dcbaa430f4/SSD1306.h/
ライブラリのインストール方法は、
mbedの画面のプロジェクトディレクトリー名の所で右クリックして
新しいライブラリー...を選択してOLED検索画面からDai Yokotaを選択
する。
5.コンパイルする。
6.何らかの方法で書き込む。
7.Hello Worldが表示されたら終わり。
おまけ
3.3Vを5Vに変換する為にPFMステップアップDC/DCコンバーター HT7750A(5個入)とコンデンサー2個とコイルとダイオードを使用した。
マイコンは、STM32 Nucleo Board STM32F303K8
#include "mbed.h"
#include "SSD1306.h"
#include "font_8x8.h"
DigitalOut myled(LED1);
#define ADDR (0x3c<<1) // address
//#define ADDR (0x3d<<1) // address
I2C i2c(I2C_SDA, I2C_SCL);
// Host PC Communication channels
Serial pc(USBTX, USBRX); // tx, rx
// Instantiate OLED
SSD1306 oled(i2c, ADDR);
char ddff[8*8];
void char11(int row,int com,int cha)
{
int char_index1;
char_index1 = cha-0x20;
int ii;
for (ii = 0;ii<(8*4);ii++) {ddff[ii]=0;}
for (ii =0;ii<8;ii++){
ddff[ii+ 0] = ddff[ii+ 0] | ((font_8x8[char_index1][ii] >> 0) & 1)<<1; //1bit
ddff[ii+ 0] = ddff[ii+ 0] | ((font_8x8[char_index1][ii] >> 0) & 1)<<3; //1bit
ddff[ii+ 0] = ddff[ii+ 0] | ((font_8x8[char_index1][ii] >> 1) & 1)<<5; //2bit
ddff[ii+ 0] = ddff[ii+ 0] | ((font_8x8[char_index1][ii] >> 1) & 1)<<7; //2bit
ddff[ii+ 8] = ddff[ii+ 8] | ((font_8x8[char_index1][ii] >> 2) & 1)<<1; //3bit
ddff[ii+ 8] = ddff[ii+ 8] | ((font_8x8[char_index1][ii] >> 2) & 1)<<3; //3bit
ddff[ii+ 8] = ddff[ii+ 8] | ((font_8x8[char_index1][ii] >> 3) & 1)<<5; //4bit
ddff[ii+ 8] = ddff[ii+ 8] | ((font_8x8[char_index1][ii] >> 3) & 1)<<7; //4bit
ddff[ii+16] = ddff[ii+16] | ((font_8x8[char_index1][ii] >> 4) & 1)<<1; //5bit
ddff[ii+16] = ddff[ii+16] | ((font_8x8[char_index1][ii] >> 4) & 1)<<3; //5bit
ddff[ii+16] = ddff[ii+16] | ((font_8x8[char_index1][ii] >> 5) & 1)<<5; //6bit
ddff[ii+16] = ddff[ii+16] | ((font_8x8[char_index1][ii] >> 5) & 1)<<7; //6bit
ddff[ii+24] = ddff[ii+24] | ((font_8x8[char_index1][ii] >> 6) & 1)<<1; //7bit
ddff[ii+24] = ddff[ii+24] | ((font_8x8[char_index1][ii] >> 6) & 1)<<3; //7bit
ddff[ii+24] = ddff[ii+24] | ((font_8x8[char_index1][ii] >> 7) & 1)<<5; //8bit
ddff[ii+24] = ddff[ii+24] | ((font_8x8[char_index1][ii] >> 7) & 1)<<7; //8bit
}//for
oled.writeBitmap((uint8_t*) ddff,
row, (row + 4 - 1),
com, (com + 8 - 1));
} //end chr11
int main() {
int ii;
pc.baud(9600);
char ss1[]="Hello World !";
ii=0;
while(ss1[ii]!=0){
char11(0,ii*8,ss1[ii]);ii++;
}
pc.printf("Printed something\r");
}
Author And Source
この問題について(STM32F303K8とOLED、AL12832AWWB-H-U02でHello Worldを表示2(Mbed)), 我々は、より多くの情報をここで見つけました https://qiita.com/caa45040/items/6db3841830b60c759b89著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .