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

歡迎光臨散文網(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)遵守國家法律
太仆寺旗| 治县。| 平江县| 华亭县| 昌平区| 专栏| 察隅县| 旬邑县| 兴业县| 汉沽区| 固原市| 闽侯县| 兴和县| 玛曲县| 新巴尔虎右旗| 大足县| 安远县| 满洲里市| 武川县| 南郑县| 余江县| 丰顺县| 襄樊市| 通城县| 湘潭县| 固始县| 吉首市| 苍南县| 宜良县| 蛟河市| 万源市| 四平市| 肥东县| 红河县| 伊金霍洛旗| 建瓯市| 富阳市| 通城县| 寻乌县| 江津市| 康定县|