之前一直嘗試移植過u8gliab和u8g2,移植沒有成功,這次看到這篇文章,很詳細。參考文章:基于以7920為核心的點陣型LCD12864成熟代碼工程u8g2的移植——stm32單片機:https://blog.csdn.net/perfugee/article/details/79092075,文章很有啟發意義,解決了我長時間的困擾問題,感謝。
隻是在這裡總結移植過程一下:
- 調用啟動函數,顯示屏的控制IC是什麼型号,什麼驅動方式;
- 硬體驅動的話,需要自己建構
函數,例:typedef uint8_t (*u8x8_msg_cb)(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);
,再建構uint8_t u8x8_byte_hw_i2c(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)
函數,直接傳回1就可以;typedef uint8_t (*u8x8_msg_cb)(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);
- 模式驅動的話,直接調用庫的軟體驅動,再建構
函數,例見上面文章。typedef uint8_t (*u8x8_msg_cb)(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);
硬體 STM32F407,1.3寸OLED,SH1106,關于1106和1306的差別淘寶就可以看見。代碼如果需要我後面會上傳上來。
