STM32F103C8とOLED、OLED096UNO-Aで12345678を表示(16x24)


x mbedが使える人が対象
x SSD1306_128x64_I2Cライブラリインストール済
x 注意 説明を大幅に省略

1.mbedでstm32f103c8をコンパイル出来るようにする。
2.新規プログラムを開く
3.下記のソースを書く。
4.oledのライブラリをインストールする。
Dai YokotaさんのSSD1306_128x64_I2Cライブラリを使用した。
https://os.mbed.com/users/jk1lot/code/SSD1306_128x64_I2C/file/46dcbaa430f4/SSD1306.h/

忙しい人よう
https://os.mbed.com/users/caa45040/code/oled_helloworld_16x24_103_1/

工夫点
8x8を16*24にした 数字のみ



#include "mbed.h"
#include "SSD1306.h"

#define ADDR     (0x3c<<1) //  address
//#define ADDR     (0x3d<<1) //  address

//I2C i2c(I2C_SDA, I2C_SCL);
I2C i2c(PB_7, PB_6); // STM32F103C8

// Host PC Communication channels
//Serial pc(USBTX, USBRX); // tx, rx
Serial pc(PA_9, PA_10); // tx, rx 103

// Instantiate OLED
SSD1306 oled(i2c, ADDR);

int ii; //ループカウンター
int nn; //文字カウンター

int main() {       
    pc.baud(9600);    
    //oled.writeString(0, 0, "Hello World !");  


    char n1_8[] = "12345678";

    ii=0;
    for(nn=0;nn<8;nn++){
        //                y   x
        oled.writeBigChar(0, ii*16,n1_8[nn]);
        ii = ii + 1;
    } //for
    pc.printf("Printed something\r");    
    while(1){}
}