chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

RA MCU眾測寶典 | IIC之【RA2E1】IIC通信的OLED顯示

RA生態(tài)工作室 ? 2026-01-01 10:04 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

RA MCU眾測寶典IIC專題上線啦!這次,瑞薩嵌入式小百科將和大家一起聚焦【瑞薩RA2E1】開發(fā)板,一步步玩轉IIC通信OLED顯示。從IIC協(xié)議的核心原理、FSP中I2C Master的配置,到OLED驅動函數(shù)編寫、圖像文字取模與顯示,一起感受僅用SDA和SCL兩條線,就能實現(xiàn)設備間數(shù)據(jù)交互與可視化的便捷魅力。


開啟寶典

簡介

IIC通信協(xié)議

IIC(Inter-Integrated Circuit)即集成電路總線。它是一種串行通信總線,使用多主從架構,如圖所示。


32b67148-e6b6-11f0-8ce9-92fbcf53809c.png

點擊可查看大圖


飛利浦Philips公司于二十世紀八十年代初設計,最初是為了讓主板、嵌入式系統(tǒng)手機用以連接低速周邊設備。

自2006年10月1日起,使用IIC協(xié)議不需要支付專利費,但制造商仍然需要付費以獲取IIC從屬設備地址。


IIC通信協(xié)議的功能特點如下:

只需要兩條總線線路;

沒有嚴格的波特率要求,例如使用RS232,主站生成總線時鐘;

所有組件之間存在簡單的主/從關系連接到總線的每個設備都可通過唯一地址進行軟件尋址;

IIC是真正的多主總線,提供仲裁和沖突檢測。


IIC使用兩根線進行通信:一根時鐘線SCL,一根數(shù)據(jù)線SDA。


IIC將SCL處于高時SDA拉低的動作作為開始信號,SCL處于高時SDA拉高的動作作為結束信號;


傳輸數(shù)據(jù)時,SDA在SCL低電平時改變數(shù)據(jù),在SCL高電平時保持數(shù)據(jù),每個SCL脈沖的高電平傳遞1位數(shù)據(jù)。


32c19064-e6b6-11f0-8ce9-92fbcf53809c.png

7-bit設備的數(shù)據(jù)傳輸


OLED顯示原理


OLED(Organic Electroluminescence Display)即有機發(fā)光二極管


32e50a76-e6b6-11f0-8ce9-92fbcf53809c.png

點擊可查看大圖


OLED由于同時具備自發(fā)光,不需背光源、對比度高、厚度薄、視角廣、反應速度快、可用于撓曲性面板、使用溫度范圍廣、構造及制程較簡單等優(yōu)異特性,被認為是下一代的平面顯示器新興應用技術。

0.96英寸OLED基本參數(shù)

工作電壓:3.3~5V(內置3.3V LDO,I2C通信接口電平是3.3V的);

像素點陣規(guī)模:128x64(128列,64行,共8192顆LED);

驅動IC:SSD1306。

OLED模塊電路


330e64a2-e6b6-11f0-8ce9-92fbcf53809c.png

點擊可查看大圖

SSD1306驅動電路


3331ee04-e6b6-11f0-8ce9-92fbcf53809c.png

點擊可查看大圖


詳見:oled I2c , SSD1306 Datasheet.

工程建立

新建工程

打開e2 studio軟件,依次點擊:文件-新建-瑞薩 C/C++項目-Renesas RA


335cbe4a-e6b6-11f0-8ce9-92fbcf53809c.png

點擊可查看大圖


依次進行工程命名,路徑設置,F(xiàn)SP版本,目標開發(fā)板選擇,芯片型號選擇:R7FA2E1A72DFL,工具鏈選擇GNU ARM Embedded


336ad246-e6b6-11f0-8ce9-92fbcf53809c.png

點擊可查看大圖

工程配置

配置FSP。


33823f9e-e6b6-11f0-8ce9-92fbcf53809c.png

點擊可查看大圖


配置IIC引腳。


3393705c-e6b6-11f0-8ce9-92fbcf53809c.png

點擊可查看大圖


配置IIC參數(shù)。


注解

需要注意從機的地址,在STM32等程序中是0x78,這里的地址位數(shù)是7,因此需要右移一位,為0x3c。


33a18f66-e6b6-11f0-8ce9-92fbcf53809c.png

點擊可查看大圖


配置完成后,點擊Generate Project Content生成工程,主要代碼位于src文件夾。


代碼完善

這里首先介紹部分重要函數(shù)的構成。


關鍵函數(shù)

向設備寫控制命令:OLED_WR_CMD()

左右滑動查看完整內容

//向設備寫控制命令 voidOLED_WR_CMD(uint8_t cmd){ uint8_t ii[2]={0x00,0x00};
ii[1]=cmd; err =R_IIC_MASTER_Write(&g_i2c_master0_ctrl, ii,0x02,true); assert(FSP_SUCCESS== err); /* Since there is nothing else to do, block until Callback triggers*/ //while ((I2C_MASTER_EVENT_TX_COMPLETE != i2c_event) && timeout_ms) while((I2C_MASTER_EVENT_TX_COMPLETE!= i2c_event) && timeout_ms>0) { R_BSP_SoftwareDelay(1U,BSP_DELAY_UNITS_MICROSECONDS); timeout_ms--; } if(I2C_MASTER_EVENT_ABORTED== i2c_event) { __BKPT(0); } /* Read data back from the I2C slave */ i2c_event =I2C_MASTER_EVENT_ABORTED; timeout_ms =100; }


向設備寫數(shù)據(jù):OLED_WR_DATA()

左右滑動查看完整內容

//向設備寫數(shù)據(jù) voidOLED_WR_DATA(uint8_t data){ uint8_t ii[2]={0x40,0x00};
ii[1]=data; err =R_IIC_MASTER_Write(&g_i2c_master0_ctrl, ii,0x02,true); assert(FSP_SUCCESS== err); /* Since there is nothing else to do, block until Callback triggers*/ while((I2C_MASTER_EVENT_TX_COMPLETE!= i2c_event) && timeout_ms>0) { R_BSP_SoftwareDelay(1U,BSP_DELAY_UNITS_MICROSECONDS); timeout_ms--; } if(I2C_MASTER_EVENT_ABORTED== i2c_event) { __BKPT(0); } /* Read data back from the I2C slave */ i2c_event =I2C_MASTER_EVENT_ABORTED; timeout_ms =100; }


需要向:src文件夾添加4個文件,其中oled.c是函數(shù)驅動文件,oled.h是頭文件,oledfont.h為文字字模文件,bmp.h為圖片字模文件。


圖像取模

步驟:

1.圖像預處理,將其尺寸裁剪為寬高比2:1,推薦使用:FastStone Image Viewer軟件;

2.使用Image2Lcd軟件生成BMP格式;

3.使用PCtoLCD軟件生成字模。


Image2Lcd

下載并運行Image2Lcd軟件。


33bfce90-e6b6-11f0-8ce9-92fbcf53809c.png

點擊可查看大圖


打開目標圖片,設置寬度為128像素,高度為64像素(若圖片不規(guī)則,需先進行裁剪處理),輸出數(shù)據(jù)類型可選擇BMP圖片,或直接生成C語言數(shù)組文件。


PCtoLCD2018

下載并運行PCtoLCD2018軟件。


33cfcdae-e6b6-11f0-8ce9-92fbcf53809c.png

點擊可查看大圖


打開目標BMP格式圖片,點擊齒輪圖標進入字模選項界面,參數(shù)設置完成后點擊確定,回到主界面,點擊生成字模,選擇并復制生成的字模至bmp.h文件。

左右滑動查看完整內容

#ifndefBMP_H_#defineBMP_H_constunsignedchar BMP1[] ={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,};#endif


文字取模采用類似方案,字模放置代碼如下。

左右滑動查看完整內容

constunsignedchar Hzk[][32]={{0x00,0x20,0x18,0xC7,0x44,0x44,0x44,0x44,0xFC,0x44,0x44,0x44,0x44,0x04,0x00,0x00},{0x04,0x04,0x04,0x07,0x04,0x04,0x04,0x04,0xFF,0x04,0x04,0x04,0x04,0x04,0x04,0x00},/*"年",0*/{0x00,0x00,0x00,0xFE,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0xFE,0x00,0x00,0x00},{0x80,0x40,0x30,0x0F,0x02,0x02,0x02,0x02,0x02,0x02,0x42,0x82,0x7F,0x00,0x00,0x00},/*"月",1*/{0x00,0x00,0x00,0xFE,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0xFE,0x00,0x00,0x00,0x00},{0x00,0x00,0x00,0xFF,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0xFF,0x00,0x00,0x00,0x00},/*"日",2*/};#endif/* OLEDFONT_H_ */


代碼。

左右滑動查看完整內容

#include"hal_data.h"#include"oled.h"#include"bmp.h"
FSP_CPP_HEADERvoidR_BSP_WarmStart(bsp_warm_start_event_tevent);FSP_CPP_FOOTER
i2c_master_event_ti2c_event = I2C_MASTER_EVENT_ABORTED;voidIIC_master_callback(i2c_master_callback_args_t*p_args){ i2c_event = I2C_MASTER_EVENT_ABORTED; if(NULL!= p_args) { /* capture callback event for validating the i2c transfer event*/ i2c_event = p_args->event; }}fsp_err_terr = FSP_SUCCESS;int timeout_ms =100;
voidhal_entry(void){ /*TODO:add your own code here */ /* IIC initicalized*/ err =R_IIC_MASTER_Open(&g_i2c_master0_ctrl, &g_i2c_master0_cfg); assert(FSP_SUCCESS == err); WriteCmd();// initialized while(1){ /*---------- Picture ------------*/ OLED_Clear();// clear screen OLED_DrawBMP(0,0,128,8,BMP1); R_BSP_SoftwareDelay(500, BSP_DELAY_UNITS_MILLISECONDS); /*----------- Text ------------*/ OLED_Clear();// clear screen OLED_ShowString(0,0,"RA",16); OLED_ShowCHinese(16,0,0);//生 OLED_ShowCHinese(32,0,1);//態(tài) OLED_ShowCHinese(48,0,2);//工 OLED_ShowCHinese(64,0,3);//作 OLED_ShowCHinese(80,0,4);//室 OLED_ShowString(0,2,"2024.11.06",16); OLED_ShowString(0,4,"Renesas RA2E1",16); R_BSP_SoftwareDelay(500, BSP_DELAY_UNITS_MILLISECONDS); }
#ifBSP_TZ_SECURE_BUILD /* Enter non-secure code */ R_BSP_NonSecureEnter();#endif}


33e31abc-e6b6-11f0-8ce9-92fbcf53809c.png

點擊可查看大圖


效果展示


IIC專題的精彩才剛剛開始!下一期我們會繼續(xù)深挖IIC通信的更多實用場景。關注瑞薩嵌入式小百科,一起解鎖更多IIC通信的實戰(zhàn)玩法,讓嵌入式設備協(xié)同更高效!


瑞薩樣品/開發(fā)板申請入口如下,可掃描二維碼或復制鏈接到瀏覽器獲得

申請入口

瑞薩樣品/開發(fā)板申請入口:

https://jsj.top/f/AgUyYV

34044c32-e6b6-11f0-8ce9-92fbcf53809c.png


需要技術支持?

如您在使用瑞薩MCU/MPU產(chǎn)品中有任何問題,可識別下方二維碼或復制網(wǎng)址到瀏覽器中打開,進入瑞薩技術論壇尋找答案或獲取在線技術支持。

34199d62-e6b6-11f0-8ce9-92fbcf53809c.png

https://community-ja.renesas.com/zh/forums-groups/mcu-mpu/

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • mcu
    mcu
    +關注

    關注

    147

    文章

    19103

    瀏覽量

    403021
  • IIC
    IIC
    +關注

    關注

    11

    文章

    311

    瀏覽量

    40756
  • RA
    RA
    +關注

    關注

    0

    文章

    38

    瀏覽量

    25353
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    RA MCU寶典 | I2C讀取EEPROM

    “RAMCU寶典IIC專題繼續(xù)深耕!上一期我們用【RA-Eco-RA2E1】開發(fā)板實現(xiàn)了IIC通信
    的頭像 發(fā)表于 01-13 18:05 ?7982次閱讀
    <b class='flag-5'>RA</b> <b class='flag-5'>MCU</b><b class='flag-5'>眾</b>測<b class='flag-5'>寶典</b> | I2C讀取EEPROM

    瑞薩RA MCU寶典 | 環(huán)境搭建RA-Eco-RA6E2-64PIN-V1.0 開發(fā)板】介紹、環(huán)境搭建、工程測試

    “RAMCU寶典”環(huán)境搭建專題再添實用干貨!這次咱們聚焦高性能入門級開發(fā)板——【RA-Eco-RA6E2-64PIN-V1.0】。本文介紹了RA-Eco-RA6E2-64PIN-V
    的頭像 發(fā)表于 03-20 16:23 ?7881次閱讀
    瑞薩<b class='flag-5'>RA</b> <b class='flag-5'>MCU</b><b class='flag-5'>眾</b>測<b class='flag-5'>寶典</b> | 環(huán)境搭建<b class='flag-5'>之</b>【<b class='flag-5'>RA-Eco-RA6E2</b>-64PIN-V1.0 開發(fā)板】介紹、環(huán)境搭建、工程測試

    使用RA2E1 MCU和FSP實現(xiàn)超低設計

      RA2E1 MCU 組評估套件 FPB-RA2E1實施各種連接器,允許訪問 RA2E1 MCU、板載
    的頭像 發(fā)表于 04-25 10:10 ?3128次閱讀
    使用<b class='flag-5'>RA2E1</b> <b class='flag-5'>MCU</b>和FSP實現(xiàn)超低設計

    入門級RA系列RA2E1 MCU組用于低功耗和空間受限應用

      RA2E1 組得到廣泛的第三方開發(fā)工具以及瑞薩電子原創(chuàng)開發(fā)環(huán)境的支持。EK-RA2E1評估套件使用戶能夠無縫評估 RA2E1 MCU 組的功能,并使用一流的靈活軟件包 (FSP)和
    的頭像 發(fā)表于 04-29 14:33 ?3327次閱讀
    入門級<b class='flag-5'>RA</b>系列<b class='flag-5'>RA2E1</b> <b class='flag-5'>MCU</b>組用于低功耗和空間受限應用

    RA2E1數(shù)據(jù)手冊(英)

    RA2E1數(shù)據(jù)手冊(英)
    發(fā)表于 11-07 19:49 ?0次下載
    <b class='flag-5'>RA2E1</b>數(shù)據(jù)手冊(英)

    RA2E1硬件用戶手冊(英)

    RA2E1硬件用戶手冊(英)
    發(fā)表于 11-07 19:49 ?0次下載
    <b class='flag-5'>RA2E1</b>硬件用戶手冊(英)

    RA2E1硬件用戶手冊(中英)

    RA2E1硬件用戶手冊(中英)
    發(fā)表于 11-07 19:49 ?7次下載
    <b class='flag-5'>RA2E1</b>硬件用戶手冊(中英)

    RA2E1開發(fā)板資料

    RA2E1開發(fā)板資料
    發(fā)表于 11-07 19:50 ?7次下載
    <b class='flag-5'>RA2E1</b>開發(fā)板資料

    RA2E1 組數(shù)據(jù)表

    RA2E1 組數(shù)據(jù)表
    發(fā)表于 01-09 19:06 ?0次下載
    <b class='flag-5'>RA2E1</b> 組數(shù)據(jù)表

    RA2E1 組用戶手冊:硬件

    RA2E1 組用戶手冊:硬件
    發(fā)表于 01-09 19:06 ?4次下載
    <b class='flag-5'>RA2E1</b> 組用戶手冊:硬件

    CPK-RA2L1/RA2E1 評估板入口

    CPK-RA2L1/RA2E1 評估板入口
    發(fā)表于 01-13 19:04 ?4次下載
    CPK-<b class='flag-5'>RA2L1</b>/<b class='flag-5'>RA2E1</b> 評估板入口

    RA2E1 組數(shù)據(jù)表

    RA2E1 組數(shù)據(jù)表
    發(fā)表于 06-30 18:50 ?0次下載
    <b class='flag-5'>RA2E1</b> 組數(shù)據(jù)表

    RA2E1 組用戶手冊:硬件

    RA2E1 組用戶手冊:硬件
    發(fā)表于 06-30 18:50 ?3次下載
    <b class='flag-5'>RA2E1</b> 組用戶手冊:硬件

    CPK-RA2L1/RA2E1 評估板入口

    CPK-RA2L1/RA2E1 評估板入口
    發(fā)表于 07-03 19:44 ?0次下載
    CPK-<b class='flag-5'>RA2L1</b>/<b class='flag-5'>RA2E1</b> 評估板入口

    RA MCU寶典 | 環(huán)境搭建【FPB-RA0E2】開發(fā)環(huán)境搭建

    RA生態(tài)工作室關注我們“RAMCU寶典”環(huán)境搭建專題更新啦!這次我們聚焦【FPB-RA0E2】開發(fā)板,一步步打通開發(fā)“第一關”,為后續(xù)功能開發(fā)筑牢基礎。開啟
    的頭像 發(fā)表于 03-11 16:33 ?1015次閱讀
    <b class='flag-5'>RA</b> <b class='flag-5'>MCU</b><b class='flag-5'>眾</b>測<b class='flag-5'>寶典</b> | 環(huán)境搭建<b class='flag-5'>之</b>【FPB-<b class='flag-5'>RA0E2</b>】開發(fā)環(huán)境搭建