由于u8g2_Setup_ssd1306_i2c_128x64_noname_f()函数只用到u8g2_m_16_8_f()这一个函数,因此只需要保留它,其余函数全部删除即可。 还有一处必要的精简是字体文件u8x8_fonts.c和u8g2_fonts.c,尤其是u8g2_fonts.c,该文件提供了包括汉字在内的几万个文字的多种字体,仅源文件就有 30MB ,编译后占据的内...
void u8g2_Setup_ssd1306_i2c_128x64_noname_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb){uint8_t tile_buf_height;uint8_t *buf;u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_128x64_noname, u8x8_cad_ssd13xx_fast_i2c, byte_...
{uint8_tt=0;IWDG_Configuration();// 初始化看门狗OLED_I2C_Init();// 初始化OLEDu8g2_tu8g2;...
{uint8_tt=0;IWDG_Configuration();// 初始化看门狗OLED_I2C_Init();// 初始化OLEDu8g2_tu8g2;...
U8G2官方GitHub链接:https://github.com/olikraus/u8g2 例程中用的MCU是STM32F103ZET6,64KByteRAM,512KByteROM U8G2库非常吃资源,使用GB2312库可以吃300KByte的ROM 链接:https://pan.baidu.com/s/1a-SDGd-VjphK6eN2CaZ-1Q 提取码:5x6e 以上链接包含硬件I2C和软件I2C驱动SSD1306的OLED...
最后把文件夹全部移植到MyLibrary(这个文件是自己定义的)文件夹下。 3、进入Keil5,创建一个U8g2文件夹,把刚刚裁剪的文件放入U8g2中,并且把MyLibrary路径给放入STM32路径中。 4、精简u8g2_d_setup.c,只需要保留u8g2_Setup_ssd1306_i2c_128x64_noname_f()这个函数,其中f代表最大缓存1024字节。
由于我的OLED是IIC接口,只留一个本次要用到的u8g2_Setup_ssd1306_i2c_128x64_noname_f就好(如果是SPI接口,需要使用u8g2_Setup_ssd1306_128x64_noname_f这个函数),其它的可以删掉或注释掉。 代码语言:javascript 复制 #include"u8g2.h"/* ssd1306 f */voidu8g2_Setup_ssd1306_i2c_128x64_noname_f(...
2.1.2 精简u8g2_d_setup.c 由于我的OLED是IIC接口,只留一个本次要用到的u8g2_Setup_ssd1306_i2c_128x64_noname_f就好(如果是SPI接口,需要使用u8g2_Setup_ssd1306_128x64_noname_f这个函数),其它的可以删掉或注释掉。 #include"u8g2.h"/* ssd1306 f */voidu8g2_Setup_ssd1306_i2c_128x64_...
由于我的OLED是IIC接口,只留一个本次要用到的u8g2_Setup_ssd1306_i2c_128x64_noname_f就好(如果是SPI接口,需要使用u8g2_Setup_ssd1306_128x64_noname_f这个函数),其它的可以删掉或注释掉。 登录后复制#include "u8g2.h" /* ssd1306 f */
2.1.2 精简u8g2_d_setup.c 由于我的OLED是IIC接口,只留一个本次要用到的u8g2_Setup_ssd1306_i2c_128x64_noname_f就好(如果是SPI接口,需要使用u8g2_Setup_ssd1306_128x64_noname_f这个函数),其它的可以删掉或注释掉。 #include"u8g2.h"/* ssd1306 f */voidu8g2_Setup_ssd1306_i2c_128x64_...