最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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的評論 (共 條)

分享到微博請遵守國家法律
石阡县| 通城县| 洱源县| 明水县| 昌邑市| 乌兰浩特市| 渑池县| 温州市| 调兵山市| 满城县| 邛崃市| 涟源市| 潞西市| 七台河市| 南宫市| 涡阳县| 青冈县| 陆丰市| 大城县| 商水县| 长汀县| 独山县| 石林| 华池县| 上高县| 大城县| 巴彦县| 土默特左旗| 德昌县| 肇庆市| 西昌市| 白山市| 札达县| 文登市| 乌鲁木齐市| 阿克| 马鞍山市| 鄂尔多斯市| 博爱县| 普陀区| 蓝田县|