国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

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

RA4M2開發(fā)(2)----基于IIC驅(qū)動(dòng)OLED

2023-08-23 10:40 作者:記帖  | 我要投稿

概述

  1. 在e2studio中創(chuàng)建新的工程并導(dǎo)入必要的文件,包括I2C驅(qū)動(dòng)代碼和SSD1306 OLED顯示驅(qū)動(dòng)代碼。

  2. 配置RA4M2的I2C接口,使其作為I2C master進(jìn)行通信。

  3. 初始化SSD1306 OLED顯示驅(qū)動(dòng)代碼,并配置顯示屏的物理地址和分辨率。

  4. 通過I2C驅(qū)動(dòng)代碼將數(shù)據(jù)寫入SSD1306 OLED顯示屏。

  5. 在e2studio中運(yùn)行代碼并檢查顯示屏是否正常顯示數(shù)據(jù)。

注意:具體的代碼細(xì)節(jié)可能因項(xiàng)目而異,請(qǐng)確保遵循廠商的數(shù)據(jù)手冊(cè)和應(yīng)用程序示例。

最近在弄ST和瑞薩的課程,需要樣片的可以加群申請(qǐng):6_15061293 。


視頻教學(xué)

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

csdn課程

csdn課程更加詳細(xì)。
https://edu.csdn.net/course/detail/36131

樣品申請(qǐng)

https://www.wjx.top/vm/wBbmSFp.aspx#



硬件準(zhǔn)備

首先需要準(zhǔn)備一個(gè)開發(fā)板,這里我準(zhǔn)備的是芯片型號(hào)R7FA4M2AD3CFP的開發(fā)板:


新建工程


工程模板

保存工程路徑

芯片配置

本文中使用R7FA4M2AD3CFP來進(jìn)行演示。

工程模板選擇

時(shí)鐘設(shè)置

開發(fā)板上的外部高速晶振為12M.

需要修改XTAL為12M。




IIC屬性配置

查看手冊(cè),可以得知OLED的IIC地址為“b0111100” or “b0111101”,即0x3c或者0x3d。



在OLED的模塊中,絲印上面寫的地址是0x78(b0111 1000)或者0x7a(b0111 1010),是因?yàn)榧恿艘晃籖W位,因?yàn)橐话阒灰l(fā)送數(shù)據(jù)讓屏幕進(jìn)行顯示。



IIC配置

配置RA4M2的I2C接口,使其作為I2C master進(jìn)行通信。

查看開發(fā)板原理圖,對(duì)應(yīng)的IIC為P408和P409。

點(diǎn)擊Stacks->New Stack->Connectivity -> I2C Master(r_sci_i2c)。


設(shè)置IIC的配置,需要注意從機(jī)的地址,在stm32等程序中寫的是0x78,但是這里的地址位數(shù)是7位,故需要右移一位,變成0x3c。


R_SCI_I2C_Open()函數(shù)原型

R_SCI_I2C_Open()函數(shù)為執(zhí)行IIC初始化,開啟配置如下所示。


R_SCI_I2C_Write()函數(shù)原型

R_SCI_I2C_Write()函數(shù)是向IIC設(shè)備中寫入數(shù)據(jù),寫入格式如下所示。


sci_i2c_master_callback()回調(diào)函數(shù)

對(duì)于數(shù)據(jù)是否發(fā)送完畢,可以查看是否獲取到I2C_MASTER_EVENT_TX_COMPLETE字段。


控制與發(fā)送數(shù)據(jù)

對(duì)于發(fā)送數(shù)據(jù),可以使用R_SCI_I2C_Write()函數(shù),對(duì)于是否發(fā)送完畢,可以判斷I2C_MASTER_EVENT_TX_COMPLETE != i2c_event,并且引入超時(shí)機(jī)制。

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



IIC寫數(shù)據(jù)

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


驅(qū)動(dòng)代碼

若需要讓OLED顯示字符或者圖片,需要添加驅(qū)動(dòng)文件,添加方式如下。

主要需要添加如下四個(gè)文件。

oled.c:該文件包含控制OLED屏幕并與之通信的主要代碼。具有初始化屏幕、繪制圖形和文本以及更新顯示的函數(shù)。

oled.h:這個(gè)頭文件可以聲明函數(shù)原型和任何在oled.c文件中使用的常量或變量。

bmp.h:該文件包含在OLED屏幕上呈現(xiàn)BMP圖像文件的代碼。

oledfont.h:這個(gè)文件包含在OLED屏幕上渲染自定義字體的代碼,或者可能聲明一個(gè)用于顯示文本的字體表。

這四個(gè)文件附錄在最后。

字符取模

由于單片機(jī)的flash比較吃緊,所以要顯示漢字需要先進(jìn)行取模。首先需要設(shè)置為字符模式。

取模軟件設(shè)置。

設(shè)置完之后就可以取自己想要漢字的編碼,輸入完畢點(diǎn)擊生成字模即可。

在oledfont.h中放入字庫。

字體大小只有2個(gè)。

在hal_entry.c中添加顯示


顯示結(jié)果如下所示。


圖片取模

設(shè)置為圖形模式。


格式設(shè)置。


選擇需要打開的文件。


打開的文件必須為bmp文件。


選擇生成字模。


圖片數(shù)據(jù)放在bmp.h中。

顯示圖片

主程序

oled.c

oled.h

oledfont.h

bmp.h


RA4M2開發(fā)(2)----基于IIC驅(qū)動(dòng)OLED的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
景德镇市| 平远县| 高碑店市| 伊通| 郁南县| 南华县| 井冈山市| 黔江区| 莆田市| 安丘市| 南和县| 洛川县| 新化县| 吴江市| 墨竹工卡县| 普宁市| 城市| 天全县| 启东市| 禹州市| 闻喜县| 西林县| 沭阳县| 咸阳市| 蓬莱市| 西吉县| 绥棱县| 临邑县| 华池县| 宁化县| 池州市| 阜平县| 梓潼县| 虞城县| 女性| 逊克县| 吉木乃县| 连江县| 苏尼特右旗| 重庆市| 吉木萨尔县|