这篇没有前言,也不感谢各种TV了,直接开说。 STM32F103C8T6最小板价格已经是白菜帮子的价格了,性能碾压动辄几十元的MEGA2560,唯一遗憾的是STM32厂家开发环境不给力,虽然刚刚推出了STM32CubeIDE1.0.0,但是,如果仅仅搞个小测试还是嫌麻烦。幸好有大神出手,将STM32部分芯片移植到了Arduino IDE环境下,这下方便多了。 STM32的Arduino IDE插件见下面链接,复制到IDE的附加开发板管理器网址里然后配置一下。同样,U8G2lib也到库管理器里去找。 https://github.com/stm32duino/BoardManagerFiles/raw/master/STM32/package_stm_index.json IDE配置完成后,输入下面这几行代码,然后下载到STM32最小板,OLED就亮了。惊不惊喜?简不简单?
/*STM32F103C8T6*/ #include <U8g2lib.h> U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, /* clock=*/ PB6, /* data=*/ PB7, /* reset=*/ U8X8_PIN_NONE); void setup(void) { u8g2.begin(); u8g2.enableUTF8Print(); } void loop(void) { u8g2.setFont(u8g2_font_6x13_tf); u8g2.setFontDirection(0); u8g2.clearBuffer(); u8g2.setCursor(25, 12); u8g2.print("STM32 ARDUINO"); u8g2.setCursor(0, 26); u8g2.print("123456789012345678901"); u8g2.setCursor(0, 38); u8g2.print("Hello OLED Wrold!"); u8g2.setCursor(0, 50); u8g2.print("Welcome to STMduino."); u8g2.setCursor(0, 62); u8g2.print("See you later!"); u8g2.drawFrame(0, 0, 128, 16); u8g2.sendBuffer(); delay(1000); }实际效果是这样的: