2020 Off season development Test of OLED Display on the Nucleo Board STM32 F303K8 and SSD1306
Dependencies: mbed Adafruit_GFX
main.cpp
00001 #include "mbed.h" 00002 #include "Adafruit_SSD1306.h" 00003 #include <string> 00004 00005 // OLEDとの通信に使用するI2Cオブジェクトを生成 00006 I2C i2c(PB_7,PB_6); 00007 00008 // OLED制御クラスのインスタンス化 00009 uint8_t i2cAddress = SSD_I2C_ADDRESS; 00010 int rawHeight = 32; 00011 int rawWidth = 128; 00012 Adafruit_SSD1306_I2c oled(i2c, D10, i2cAddress); 00013 Serial pc(USBTX,USBRX);//pcに表示させるための設定 00014 00015 DigitalIn Slides[] = { 00016 DigitalIn( D1 ), 00017 DigitalIn( D0 ), 00018 DigitalIn( D3 ), 00019 DigitalIn( D6 ) 00020 }; 00021 00022 DigitalIn Tacts[] = { 00023 DigitalIn( D8 ), 00024 DigitalIn( D9 ), 00025 DigitalIn( D11 ), 00026 DigitalIn( D12 ) 00027 }; 00028 00029 DigitalOut leds[] = { 00030 DigitalOut( A3 ), 00031 DigitalOut( A0 ), 00032 DigitalOut( D13 ), 00033 DigitalOut( A2 ) 00034 }; 00035 00036 void print(std::string str); 00037 00038 char* line[]= { 00039 "Hello", 00040 "Good" 00041 }; 00042 00043 int main(void) 00044 { 00045 char* a[]= {"HELLO"}; 00046 char* b[]= {" WORLD"}; 00047 char* c[]= {"\n"}; 00048 char but=0x00; 00049 for(int i=0; i<4; i++) { 00050 Slides[i].mode(PullUp); 00051 Tacts[i].mode(PullUp); 00052 leds[i] = 1; 00053 } 00054 // float num1 = 1.1; 00055 // char str[20]; 00056 // char* ptr[1]; 00057 // sprintf(str, "%.9g", num1); 00058 // ptr[1] = (char*)str; 00059 while(1) { 00060 char data=0x01; 00061 for(int i=0; i<4; i++) { 00062 if ( Slides[i] == 0 ) 00063 but |= data; 00064 data<<=1; 00065 } 00066 for(int i=0; i<4; i++) { 00067 if ( Tacts[i] == 0 ) 00068 but |= data; 00069 data<<=1; 00070 } 00071 print(* a); 00072 print(* b); 00073 print(* c); 00074 pc.printf("but:0x%x\n",but); 00075 oled.clearDisplay(); 00076 oled.setTextCursor(0,0); 00077 but=0x00; 00078 wait_ms(1); 00079 } 00080 } 00081 00082 void print(std::string str) 00083 { 00084 for(size_t i=0; i<str.size() ; i++) { 00085 oled._putc(str[i]); 00086 } 00087 // 表示を更新 00088 oled.display(); 00089 }
Generated on Thu Jul 21 2022 03:04:14 by
1.7.2