一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

3天內(nèi)不再提示

使用I2C協(xié)議點亮OLED

CHANBAEK ? 來源:魚香ROS ? 作者:小魚 ? 2023-07-15 16:47 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

你好,我是愛吃魚香ROS的小魚。本節(jié)我們就嘗試直接使用I2C協(xié)議來點亮OLED,因為主要測試I2C協(xié)議,所以對于復(fù)雜的顯示處理部分小魚就略過了,畢竟有方便的開源庫使用,我們也不用那么糾結(jié),如果實在想使用I2C直接驅(qū)動OLED,可以去看小魚在雷達驅(qū)動板上手擼的代碼。

教程所使用硬件平臺為MicroROS學習板V1.0.0,可點擊閱讀原文購買及查看詳情

圖片

一、新建工程

還是老樣子,不過這次不需要添加任何依賴。

圖片

二、I2CAPI介紹

這里我們需要了解幾個Wire常用的API。

1.Wire.begin 初始化可以設(shè)置引腳,如Wire.begin(18, 19);

2.Wire.beginTransmission,開始傳輸,傳入目標地址,如OLED-0x3C Wire.beginTransmission(0x3c);

3.Wire.write 開始寫數(shù)據(jù), 直接傳入要寫的數(shù)據(jù)即可

4.Wire.endTransmission 結(jié)束傳輸,寫入完成后調(diào)用

三、編寫代碼

#include < Arduino.h >
#include "Wire.h"

uint8_t cmd_ssd1315[] = {0xae, 0x00, 0x10, 0x40, 0x81, 0xcf, 0xa1, 0xc8, 0xa6, 0xa8,
                         0x3f, 0xd3, 0x00, 0xd5, 0x80, 0xd9, 0xf1, 0xda, 0x12, 0xdb,
                         0x40, 0x20, 0x00, 0x8d, 0x14, 0xa4, 0xa6, 0xaf};

void setup()
{
  Wire.begin(18, 19);
  Wire.beginTransmission(0x3c);
  for (int i = 0; i < 28; i++)
  {
    Wire.write(cmd_ssd1315[i]);
  }
  Wire.endTransmission();
}

void loop()
{
  // put your main code here, to run repeatedly:
}

這里的代碼,我們將cmd_ssd1315中的數(shù)據(jù)依次通過I2C寫入地址為0x3C的設(shè)備中,這些數(shù)據(jù)分別代表著初始化OLED所需要的參數(shù),如亮度、方向等信息,具體請參考SSD1315的手冊,或自行百度。

四、測試

將代碼下載到開發(fā)板,查看OLED,可以看到OLED此時成功亮起,有很多斑點,屬于正常現(xiàn)象。

圖片

五、總結(jié)

本節(jié)我們主要嘗試通過I2C發(fā)送一段指令給OLED,并將其成功點亮。至此我們嵌入式開發(fā)基礎(chǔ)篇的內(nèi)容就全部完成了,下一章開始我們將正式進入MicroROS的開發(fā)中來,到時會有我們熟悉的WIFI、藍牙等模塊的使用。

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

    關(guān)注

    120

    文章

    6286

    瀏覽量

    228071
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4900

    瀏覽量

    70738
  • 學習板
    +關(guān)注

    關(guān)注

    0

    文章

    47

    瀏覽量

    12375
  • I2C協(xié)議
    +關(guān)注

    關(guān)注

    0

    文章

    27

    瀏覽量

    8810
  • ROS
    ROS
    +關(guān)注

    關(guān)注

    1

    文章

    288

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    I2C總線協(xié)議及其應(yīng)用(圖)

    I2C總線協(xié)議及其應(yīng)用
    發(fā)表于 06-01 20:22 ?7136次閱讀

    什么是i2c總線

    什么是i2c總線  下載請點擊: i2c總線協(xié)議中文版 
    發(fā)表于 11-05 09:26 ?3064次閱讀

    I2C總線協(xié)議及其應(yīng)用

    I2C總線協(xié)議及其應(yīng)用 一、I2C總線介紹: ---- 由于大規(guī)模集成電路技術(shù)的發(fā)展,在單個芯片集成CPU以及組成一個單獨工作系統(tǒng)
    發(fā)表于 02-08 11:23 ?1658次閱讀
    <b class='flag-5'>I2C</b>總線<b class='flag-5'>協(xié)議</b>及其應(yīng)用

    I2C最新協(xié)議標準

    I2C最新協(xié)議標準,詳細介紹了IIC信號要求,供大家參考,
    發(fā)表于 12-22 17:59 ?17次下載

    I2C通信協(xié)議應(yīng)該如何學習

    我最近剛做完I2C通信協(xié)議的編寫與調(diào)試,下面介紹一下我從一開始理解夏老師的程序,修改程序,直到下板調(diào)試整個的學習過程,希望對大家學習 I2C 有一定的幫助。一、 分析源代碼學習 I2C
    發(fā)表于 04-28 08:00 ?22次下載
    <b class='flag-5'>I2C</b>通信<b class='flag-5'>協(xié)議</b>應(yīng)該如何學習

    I2C系列的合集,可以系統(tǒng)學習I2C協(xié)議

    這篇文章給大家?guī)砹?b class='flag-5'>I2C系列的合集,可以系統(tǒng)學習I2C協(xié)議。大家趕緊看看吧! 1、I2C總線:何時使用I2C緩沖器 本文討論了使用
    的頭像 發(fā)表于 09-23 15:28 ?3495次閱讀

    I2C總線協(xié)議英文資料

    I2C總線協(xié)議英文資料
    發(fā)表于 11-24 10:00 ?13次下載

    STM32學習之I2C協(xié)議(讀寫EEPROM)

    關(guān)于STM32學習分享第七章 I2C協(xié)議(讀寫EEPROM)文章目錄關(guān)于STM32學習分享前言二、代碼1.i2c.c2.i2c.h3.main.c總結(jié)前言開始!開始!單片機的I2C
    發(fā)表于 11-30 15:21 ?32次下載
    STM32學習之<b class='flag-5'>I2C</b><b class='flag-5'>協(xié)議</b>(讀寫EEPROM)

    MPU6050的I2C通信協(xié)議

    不同硬件有不同的I2C協(xié)議
    發(fā)表于 12-06 12:21 ?3次下載
    MPU6050的<b class='flag-5'>I2C</b>通信<b class='flag-5'>協(xié)議</b>

    嵌入式內(nèi)核及驅(qū)動開發(fā)-09IIC子系統(tǒng)框架使用(I2C協(xié)議和時序,I2C驅(qū)動框架,I2C從設(shè)備驅(qū)動開發(fā),MPU6050硬件連接

    文章目錄I2c協(xié)議和時序I2c介紹I2c硬件連接I2c總線的信號I2c總線寫時序
    發(fā)表于 12-06 14:06 ?17次下載
    嵌入式內(nèi)核及驅(qū)動開發(fā)-09IIC子系統(tǒng)框架使用(<b class='flag-5'>I2C</b><b class='flag-5'>協(xié)議</b>和時序,<b class='flag-5'>I2C</b>驅(qū)動框架,<b class='flag-5'>I2C</b>從設(shè)備驅(qū)動開發(fā),MPU6050硬件連接

    硬件I2C與模擬I2C

    配置;而軟件I2C是沒有寄存器這個概念的。 軟件I2C一般是使用GPIO管腳,用軟件控制SCL,SDA線輸出高低電平,模擬i2c協(xié)議的時序。例如下面這段
    發(fā)表于 12-28 19:14 ?81次下載
    硬件<b class='flag-5'>I2C</b>與模擬<b class='flag-5'>I2C</b>

    一文看懂I2C協(xié)議

    電子行業(yè)最常用的3種串行通訊協(xié)議:UART、SPI和I2C。前面介紹了串口通訊協(xié)議及其FPGA實現(xiàn),SPI協(xié)議。本篇文章介紹I2C通訊
    發(fā)表于 01-25 18:32 ?40次下載
    一文看懂<b class='flag-5'>I2C</b><b class='flag-5'>協(xié)議</b>

    I2C通信協(xié)議:了解I2C Primer、 PMBus和SMBus

    I2C,即Inter-Integrated Circuit,是一種常用的串行通信協(xié)議,用于在器件之間——特別是兩個或兩個以上不同電路之間建立通信。I2C Primer是最常用的I2C。
    的頭像 發(fā)表于 06-15 15:29 ?7537次閱讀
    <b class='flag-5'>I2C</b>通信<b class='flag-5'>協(xié)議</b>:了解<b class='flag-5'>I2C</b> Primer、 PMBus和SMBus

    I2C串行總線協(xié)議是什么?I2C總線有哪些優(yōu)點?

    I2C串行總線協(xié)議是什么?I2C總線有哪些優(yōu)點? I2C(Inter-Integrated Circuit)是一種串行總線協(xié)議,由Phili
    的頭像 發(fā)表于 09-12 11:18 ?2372次閱讀

    I2C協(xié)議的基礎(chǔ)知識

    本文從I2C協(xié)議的概述開始,描述協(xié)議的歷史、不同速度模式、物理層和數(shù)據(jù)幀結(jié)構(gòu),最后介紹I2C混合電壓系統(tǒng)中電平兼容性以及上拉電阻大小計算。
    的頭像 發(fā)表于 10-22 15:51 ?2181次閱讀
    <b class='flag-5'>I2C</b><b class='flag-5'>協(xié)議</b>的基礎(chǔ)知識