女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

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

如何操作I2C去顯示oled屏幕

電子發(fā)燒友開(kāi)源社區(qū) ? 來(lái)源:HarmonyOS官方合作社區(qū) ? 作者:HarmonyOS官方合作社 ? 2022-03-02 17:54 ? 次閱讀

摘要:本文簡(jiǎn)單介紹如何操作I2C去顯示oled屏幕,并且實(shí)現(xiàn)動(dòng)畫(huà)播放、中文英文顯示、繪圖等功能

適合群體:適用于潤(rùn)和Hi3861開(kāi)發(fā)板,L0輕量系統(tǒng)驅(qū)動(dòng)開(kāi)發(fā)

7.1 實(shí)驗(yàn)效果

Hispark WiFi開(kāi)發(fā)套件又提供一個(gè)oLED屏幕,但是鴻蒙源碼中沒(méi)有這個(gè)屏幕的驅(qū)動(dòng),我們需要自己去移植。

以下是移植效果:

如何操作I2C去顯示oled屏幕

如何操作I2C去顯示oled屏幕

接口:I2C

使用引腳:HI_IO_NAME_GPIO_13 、 HI_IO_NAME_GPIO_14

7.2 代碼

這里我直接用許思維老師之前移植好的代碼,不過(guò)由于鴻蒙版本更新過(guò)快,許思維老師之前的代碼是基于1.0版本,直接拿到3.0以上版本編譯會(huì)出錯(cuò),這里我修改了編譯錯(cuò)誤。放在我的倉(cāng)庫(kù)中。

整個(gè)代碼目錄如下:

主要是3個(gè)文件夾:

(1)examples

測(cè)試代碼,里面有一個(gè)ssd1306_demo.c文件,是我們的入口函數(shù)。

(2)libm_port

從musl libc中抽取的`sin`和`cos`的實(shí)現(xiàn)。

(3)ssd1306

相關(guān)驅(qū)動(dòng)代碼部分。

接下來(lái)我們來(lái)重點(diǎn)看下代碼部分:

(1)初始化入口函數(shù)

入口函數(shù)是 Ssd1306TestDemo ,它創(chuàng)建了Ssd1306TestTask線(xiàn)程,所以我們重點(diǎn)看 Ssd1306TestTask線(xiàn)程。

void Ssd1306TestTask(void* arg){  (void) arg;  //先初始化引腳  IoTGpioInit(HI_IO_NAME_GPIO_13);  IoTGpioInit(HI_IO_NAME_GPIO_14);
  //將引腳功能設(shè)置為I2C引腳  hi_io_set_func(HI_IO_NAME_GPIO_13, HI_IO_FUNC_GPIO_13_I2C0_SDA);  hi_io_set_func(HI_IO_NAME_GPIO_14, HI_IO_FUNC_GPIO_14_I2C0_SCL);
  //初始化I2C0  Ioti2cInit(0, OLED_I2C_BAUDRATE);
  //WatchDogDisable();
  usleep(20*1000);  //初始化SSD1306  ssd1306_Init();  //全部清空  ssd1306_Fill(Black);  ssd1306_SetCursor(0, 0);  //顯示 Hello HarmonyOS!  ssd1306_DrawString("Hello HarmonyOS!", Font_7x10, White);
  uint32_t start = HAL_GetTick();  ssd1306_UpdateScreen();  uint32_t end = HAL_GetTick();  printf("ssd1306_UpdateScreen time cost: %d ms.
", end - start);
  TestDrawChinese1();  TestDrawChinese2();
  TestGetTick();  while (1) {    //進(jìn)行所有用例測(cè)試    ssd1306_TestAll();    usleep(10000);  }}

(2)I2C發(fā)送函數(shù)

我們要操作OLED屏幕,就需要使用I2C發(fā)送數(shù)據(jù)給OLED屏幕,代碼使用

ssd1306_SendData函數(shù)發(fā)送I2C數(shù)據(jù),該函數(shù)原型如下,直接調(diào)用的hi3861的i2c接口函數(shù):

static uint32_t ssd1306_SendData(uint8_t* data, size_t size){  int id = SSD1306_I2C_IDX;
  return IoTI2cWrite(id, SSD1306_I2C_ADDR, data, size);}

(3)修改 usr_config.mk文件

注意,默認(rèn)代碼是沒(méi)有打開(kāi)i2c功能的,直接編譯會(huì)提示相關(guān)的i2c函數(shù)沒(méi)有定義,我們需要打開(kāi)i2c的功能,具體是修改usr_config.mk文件 ,目前版本(3.1)的路徑是:

devicesochisiliconhi3861v100sdk_liteosuildconfigusr_config.mk

但是代碼結(jié)構(gòu)可能會(huì)調(diào)整,路徑可能會(huì)變。

增加 CONFIG_I2C_SUPPORT=y

如何操作I2C去顯示oled屏幕

原文標(biāo)題:OpenHarmony輕量系統(tǒng)開(kāi)發(fā)【7】驅(qū)動(dòng)之I2C顯示OLED屏幕

文章出處:【微信公眾號(hào):HarmonyOS官方合作社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

審核編輯:湯梓紅


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

    關(guān)注

    119

    文章

    6263

    瀏覽量

    226959
  • 驅(qū)動(dòng)
    +關(guān)注

    關(guān)注

    12

    文章

    1890

    瀏覽量

    86470
  • 屏幕
    +關(guān)注

    關(guān)注

    7

    文章

    1213

    瀏覽量

    56338

原文標(biāo)題:OpenHarmony輕量系統(tǒng)開(kāi)發(fā)【7】驅(qū)動(dòng)之I2C顯示OLED屏幕

文章出處:【微信號(hào):HarmonyOS_Community,微信公眾號(hào):電子發(fā)燒友開(kāi)源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

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

    關(guān)于I2C總線(xiàn)的讀寫(xiě)操作流程詳解

    本文主要介紹I2C總線(xiàn)的讀寫(xiě)操作流程。 I2C總線(xiàn)的操作包括讀和寫(xiě),具體的操作流程如下。
    的頭像 發(fā)表于 11-29 09:38 ?3.5w次閱讀
    關(guān)于<b class='flag-5'>I2C</b>總線(xiàn)的讀寫(xiě)<b class='flag-5'>操作</b>流程詳解

    使用MicroPython的I2C總線(xiàn)通訊編程和OLED顯示屏的使用

    在介紹OLED顯示屏之前,我們先來(lái)了解一下I2C總線(xiàn)。I2C(Inter-Integrated Circuit)是一種串行通信協(xié)議,用于連接微控制器和其他外圍設(shè)備。
    的頭像 發(fā)表于 11-08 17:28 ?4186次閱讀
    使用MicroPython的<b class='flag-5'>I2C</b>總線(xiàn)通訊編程和<b class='flag-5'>OLED</b><b class='flag-5'>顯示</b>屏的使用

    【HarmonyOS HiSpark Wi-Fi IoT套件】I2C驅(qū)動(dòng) Hi3861 驅(qū)動(dòng)OLED屏幕顯示

    ,大家自己下載。(2)設(shè)置I2C引腳復(fù)用確定i2c引腳,查看原理圖,可以看到OLED屏幕使用到的是I2C
    發(fā)表于 10-16 09:26

    怎樣使用I2C接口控制OLED屏幕顯示

    XR806外設(shè)I2C接口有何作用?怎樣使用I2C接口控制OLED屏幕
    發(fā)表于 12-28 07:30

    OpenHarmony輕量系統(tǒng)開(kāi)發(fā)【7】驅(qū)動(dòng)之I2C顯示OLED屏幕

    摘要:本文簡(jiǎn)單介紹如何操作I2C顯示OLED屏幕,并且實(shí)現(xiàn)動(dòng)畫(huà)播放、中文英文
    發(fā)表于 01-21 16:37

    I2C

    很不的錯(cuò)的接掃I2C資料,值得演習(xí)一下
    發(fā)表于 04-19 15:45 ?24次下載

    i2c

    單片機(jī)i2c總線(xiàn)操作;單片機(jī)i2c總線(xiàn)操作;單片機(jī)i2c總線(xiàn)操作
    發(fā)表于 05-17 11:09 ?35次下載

    I2C OLED顯示屏的51單片機(jī)/STM32/Arduino驅(qū)動(dòng)程序

    I2C OLED顯示屏的51單片機(jī)/STM32/Arduino驅(qū)動(dòng)程序說(shuō)明。
    發(fā)表于 03-26 09:37 ?66次下載

    硬件I2C與模擬I2C

    硬件I2C對(duì)應(yīng)芯片上的I2C外設(shè),有相應(yīng)I2C驅(qū)動(dòng)電路,其所使用的I2C管腳也是專(zhuān)用的,因而效率要遠(yuǎn)高于軟件模擬的I2C;一般也較為穩(wěn)定,但
    發(fā)表于 12-28 19:14 ?81次下載
    硬件<b class='flag-5'>I2C</b>與模擬<b class='flag-5'>I2C</b>

    連接100英尺以外的OLED屏幕I2C傳感器

    電子發(fā)燒友網(wǎng)站提供《連接100英尺以外的OLED屏幕I2C傳感器.zip》資料免費(fèi)下載
    發(fā)表于 11-03 10:31 ?0次下載
    連接100英尺以外的<b class='flag-5'>OLED</b><b class='flag-5'>屏幕</b>和<b class='flag-5'>I2C</b>傳感器

    如何獲取I2C OLED的例程,并搭建OLED仿真電路圖

    OLED屏應(yīng)用廣泛,常用于智能手表、手環(huán)的顯示屏。特點(diǎn)是屏幕小,可以顯示中英文、圖片等。 下圖是I2C
    發(fā)表于 12-01 10:56 ?6682次閱讀

    帶有idiotware shield的I2C OLED顯示器中的動(dòng)畫(huà)

    電子發(fā)燒友網(wǎng)站提供《帶有idiotware shield的I2C OLED顯示器中的動(dòng)畫(huà).zip》資料免費(fèi)下載
    發(fā)表于 01-03 10:27 ?0次下載
    帶有idiotware shield的<b class='flag-5'>I2C</b> <b class='flag-5'>OLED</b><b class='flag-5'>顯示</b>器中的動(dòng)畫(huà)

    帶有Arduino Nano和I2C OLED顯示屏的Arduboy Clone

    電子發(fā)燒友網(wǎng)站提供《帶有Arduino Nano和I2C OLED顯示屏的Arduboy Clone.zip》資料免費(fèi)下載
    發(fā)表于 02-10 14:19 ?0次下載
    帶有Arduino Nano和<b class='flag-5'>I2C</b> <b class='flag-5'>OLED</b><b class='flag-5'>顯示</b>屏的Arduboy Clone

    如何在I2C 128X32 OLED顯示器上滾動(dòng)文本

    電子發(fā)燒友網(wǎng)站提供《如何在I2C 128X32 OLED顯示器上滾動(dòng)文本.zip》資料免費(fèi)下載
    發(fā)表于 06-28 15:59 ?0次下載
    如何在<b class='flag-5'>I2C</b> 128X32 <b class='flag-5'>OLED</b><b class='flag-5'>顯示</b>器上滾動(dòng)文本

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

    你好,我是愛(ài)吃魚(yú)香ROS的小魚(yú)。本節(jié)我們就嘗試直接使用I2C協(xié)議來(lái)點(diǎn)亮OLED,因?yàn)橹饕獪y(cè)試I2C協(xié)議,所以對(duì)于復(fù)雜的顯示處理部分小魚(yú)就略過(guò)了,畢竟有方便的開(kāi)源庫(kù)使用,我們也不用那么糾
    的頭像 發(fā)表于 07-15 16:47 ?2447次閱讀
    使用<b class='flag-5'>I2C</b>協(xié)議點(diǎn)亮<b class='flag-5'>OLED</b>