无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

STM32CUBEMX開發(fā)GD32F303(14)----IIC之配置OLED

2023-07-26 16:07 作者:記帖  | 我要投稿

概述

本章STM32CUBEMX配置STM32F103,并且在GD32F303中進行開發(fā),同時通過開發(fā)板內(nèi)進行驗證。 使用IIC進行驅(qū)動SSD1306的12864OLED。 最近在弄ST和GD的課程,需要GD樣片的可以加群申請:615061293 。

視頻教學(xué)

https://www.bilibili.com/video/BV1Q8411t7sK/


csdn課程

課程更加詳細。?https://download.csdn.net/course/detail/37152

樣品申請

https://www.wjx.top/vm/mB2IKus.aspx

生成例程

這里準備了自己繪制的開發(fā)板進行驗證。?

?查看原理圖,PB8和PB9設(shè)置為開發(fā)板的IIC。?

配置時鐘樹

配置時鐘為64M。?

IIC配置

本次實驗使用的IIC與顯示屏通信,配置如下。?

OLED

查看文檔可以知道地址為b0111100或者b0111101,當R/W位置寫0的時候,才能進行寫的操作,那么地址默認為0x78(b01111000)或者0x7A(b01111010)

參考程序

這里使用0.96OLED顯示屏_STM32F103C8_IIC_V1.0來進行移植?

?

?查看工程可以知道主要是有3個文件來進行OLED的驅(qū)動,移入OLE.h .c 、oledfont.h 、 bmp.h 移入文件之后要注意導(dǎo)入C文件。?

刪除沒有用的頭文件 刪除sys.h文件?

刪除delay.h文件?

可以查看stdint.h?

在oled.h中添加u8 u32定義 也可以直接修改

typedef unsigned ? ? ? ? ?char u8; typedef unsigned ? ? ? ? ? int u32;

?先把oled.h添加主程序中。?

查看oled.h,可以看到IIC定義,同時也是模擬IIC,可以注釋掉?

查看oled.c,可以看到是模擬iic,這些都可以注釋不要,我們使用的是iIC,不是模擬。

HAL_I2C_Mem_Write()

IIC寫固定的設(shè)備寫入數(shù)據(jù)。 記得導(dǎo)入#include "i2c.h"?

將HAL_I2C_Mem_Write函數(shù)放入oled.c中。 例如將Write_IIC_Command函數(shù)修改為HAL_I2C_Mem_Write發(fā)送方式。?

向0x78設(shè)備寫命令0x00的IIC_Command指令。




IIC寫數(shù)據(jù) 向0x78設(shè)備寫數(shù)據(jù)0x40的IIC_Data指令。


在oled.c中,OLED_Init初始化可以注釋掉gpio初始化?

在oled.c中,OLED_Init初始化中有個延時800ms。 導(dǎo)入

#include "stm32f1xx_hal.h" 可以使用HAL_Delay(800);

取模

?在oledfont.h中放入字庫?


在main.c中添加顯示


字體大小只有2個?

?顯示字符


圖片

圖片放在bmp.h中。


顯示圖片


OLED.C


OLED.h


OLEDFONT.H



STM32CUBEMX開發(fā)GD32F303(14)----IIC之配置OLED的評論 (共 條)

分享到微博請遵守國家法律
宜兰市| 兰溪市| 宁陵县| 沭阳县| 六安市| 斗六市| 辽源市| 青浦区| 青海省| 太原市| 洛浦县| 浠水县| 东明县| 宝清县| 海晏县| 阳东县| 岚皋县| 金湖县| 洪泽县| 宣武区| 望奎县| 若尔盖县| 五莲县| 呼图壁县| 肇东市| 芮城县| 蕉岭县| 贵阳市| 丹江口市| 嘉禾县| 凤山市| 旅游| 南平市| 怀来县| 怀宁县| 徐州市| 瑞安市| 远安县| 安岳县| 九江县| 拜城县|