在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

【CW32模塊使用】0.96寸IIC單色屏

CW32生態社區 ? 2025-05-11 16:19 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、模塊來源

模塊實物展示:

wKgZO2ggXXaAZTtsAABBivB4yE8474.jpg


資料下載鏈接:https://pan.baidu.com/s/1xy2zH8-hs-S8-_AcVtBP_g
資料提取碼:0jhj

二、規格參數

工作電壓:3.3V

工作電流:9MA

模塊尺寸:27.3 x 27.8 MM

像素大小:128(H) x 64(V)RGB

驅動芯片:SSD1306

通信協議:IIC

管腳數量:4 Pin(2.54mm間距排針

以上信息見廠家資料文件

wKgZPGggXXeAfgTEAAAuOK5EA90160.jpg

文件路徑

wKgZO2ggXXeAI66TAAAa2vs96AI445.jpg

尺寸參數

三、移植過程

我們的目標是將例程移植至立創·CW32F030C8T6開發板上。按照以下步驟,即可完成移植。

將源碼導入工程;

根據編譯報錯處進行粗改;

修改引腳配置;

修改時序配置;

移植驗證。

3.1查看資料

打開廠家資料例程(例程下載見百度網盤鏈接下載)。具體路徑見例程路徑

wKgZPGggXXiABKvkAACNSEbwr2I577.jpg

例程路徑

3.2移植至工程

將廠家資料路徑下的【LCD】文件夾,復制到自己的工程中。(工程可以參考入門手冊工程模板

wKgZO2ggXXmAOY8-AABNcECTDrI585.jpg

復制示意圖

我們打開工程文件,將我們剛剛復制到文件夾中的文件,導入C文件和路徑。

wKgZPGggXXmAQwbVAAB9zeBoj6U773.jpg

oled.h 文件下的 sys.h 改為 board.h

wKgZO2ggXXqAb4t_AAAWsPutwMM839.jpg

修改oled.h頭文件

oled.c 文件下的 delay.h 注釋掉。

wKgZPGggXXqAJMeeAAAYMEVDSjI812.jpg

修改oled.c文件

oled.h文件中定義三個宏,u8、u16、u32。

#ifndef u8
#define u8 uint8_t
#endif

#ifndef u16
#define u16 uint16_t
#endif

#ifndef u32
#define u32 uint32_t
#endif

3.3. 引腳選擇?

該屏幕需要設置4個接口,具體接口說明見 各引腳說明

wKgZO2ggXXuAa0uQAAIdkeVLtic612.jpg

模塊為IIC通信協議的從機,SCL為IIC信號線,SDA為IIC數據線。

3.4. 軟件I2C移植?

當前廠家源碼使用的是軟件IIC接口,IIC時序部分廠家已經完成,我們只需要將引腳和延時配置好即可。所以對應接入的屏幕引腳請按照你的需要。這里選擇的引腳見下圖。

wKgZPGggXXuAIOuKAAfweAtgzN0149.jpg

選擇好引腳后,進入工程開始編寫屏幕引腳初始化代碼。

在oled.h中定義LCD端口移植宏

//-----------------OLED端口引腳移植定義----------------

#define OLED_RCC_ENABLE()        __RCC_GPIOB_CLK_ENABLE()

#define OLED_GPIO_PORT           CW_GPIOB

#define OLED_SCL_PIN             GPIO_PIN_10
#define OLED_SDA_PIN             GPIO_PIN_11

將oled.c源代碼中的 void OLED_Init(void) 修改為如下代碼。

//OLED的初始化
void OLED_Init(void)
{
    GPIO_InitTypeDef  GPIO_InitStructure;

    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);//使能GPIO時鐘

    //GPIO初始化設置
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10|GPIO_Pin_11;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//推挽輸出模式
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//100MHz
    GPIO_Init(GPIOB, &GPIO_InitStructure);//初始化

    delay_ms(200);

    OLED_WR_Byte(0xAE,OLED_CMD);//--turn off oled panel
    OLED_WR_Byte(0x00,OLED_CMD);//---set low column address
    OLED_WR_Byte(0x10,OLED_CMD);//---set high column address
    OLED_WR_Byte(0x40,OLED_CMD);//--set start line address  Set Mapping RAM Display Start Line (0x00~0x3F)
    OLED_WR_Byte(0x81,OLED_CMD);//--set contrast control register
    OLED_WR_Byte(0xCF,OLED_CMD);// Set SEG Output Current Brightness
    OLED_WR_Byte(0xA1,OLED_CMD);//--Set SEG/Column Mapping     0xa0左右反置 0xa1正常
    OLED_WR_Byte(0xC8,OLED_CMD);//Set COM/Row Scan Direction   0xc0上下反置 0xc8正常
    OLED_WR_Byte(0xA6,OLED_CMD);//--set normal display
    OLED_WR_Byte(0xA8,OLED_CMD);//--set multiplex ratio(1 to 64)
    OLED_WR_Byte(0x3f,OLED_CMD);//--1/64 duty
    OLED_WR_Byte(0xD3,OLED_CMD);//-set display offset        Shift Mapping RAM Counter (0x00~0x3F)
    OLED_WR_Byte(0x00,OLED_CMD);//-not offset
    OLED_WR_Byte(0xd5,OLED_CMD);//--set display clock divide ratio/oscillator frequency
    OLED_WR_Byte(0x80,OLED_CMD);//--set divide ratio, Set Clock as 100 Frames/Sec
    OLED_WR_Byte(0xD9,OLED_CMD);//--set pre-charge period
    OLED_WR_Byte(0xF1,OLED_CMD);//Set Pre-Charge as 15 Clocks & Discharge as 1 Clock
    OLED_WR_Byte(0xDA,OLED_CMD);//--set com pins hardware configuration
    OLED_WR_Byte(0x12,OLED_CMD);
    OLED_WR_Byte(0xDB,OLED_CMD);//--set vcomh
    OLED_WR_Byte(0x40,OLED_CMD);//Set VCOM Deselect Level
    OLED_WR_Byte(0x20,OLED_CMD);//-Set Page Addressing Mode (0x00/0x01/0x02)
    OLED_WR_Byte(0x02,OLED_CMD);//
    OLED_WR_Byte(0x8D,OLED_CMD);//--set Charge Pump enable/disable
    OLED_WR_Byte(0x14,OLED_CMD);//--set(0x10) disable
    OLED_WR_Byte(0xA4,OLED_CMD);// Disable Entire Display On (0xa4/0xa5)
    OLED_WR_Byte(0xA6,OLED_CMD);// Disable Inverse Display On (0xa6/a7)
    OLED_Clear();
    OLED_WR_Byte(0xAF,OLED_CMD);
}

將lcd_init.h中的 OLED端口定義 宏。進行修改!

//-----------------OLED端口定義----------------

#define OLED_SCL_Clr() GPIO_WritePin(OLED_GPIO_PORT,OLED_SCL_PIN,GPIO_Pin_RESET)//SCL
#define OLED_SCL_Set() GPIO_WritePin(OLED_GPIO_PORT,OLED_SCL_PIN,GPIO_Pin_SET)

#define OLED_SDA_Clr() GPIO_WritePin(OLED_GPIO_PORT,OLED_SDA_PIN,GPIO_Pin_RESET)//SDA
#define OLED_SDA_Set() GPIO_WritePin(OLED_GPIO_PORT,OLED_SDA_PIN,GPIO_Pin_SET)

//#define OLED_RES_Clr() GPIO_ResetBits(GPIOA,GPIO_Pin_2)//RES
//#define OLED_RES_Set() GPIO_SetBits(GPIOA,GPIO_Pin_2)

wKgZO2ggXXyAXMZ9AAD8yNZ-M10021.jpg

原來端口定義

wKgZPGggXXyAY-zMAAQ5x99yHGc913.jpg

修改后端口定義

打開oled.c文件 找到 void IIC_delay(void) 函數,將里面的內容替換為

/**********************************************************
 * 函 數 名 稱:IIC_delay
 * 函 數 功 能:延時
 * 傳 入 參 數:無
 * 函 數 返 回:無
 * 作       者:www.lckfb.com
 * 備       注:
**********************************************************/
void IIC_delay(void)
{
        delay_us(5);
}

四. 移植驗證?

在main.c中輸入代碼如下

/*
 * 立創開發板軟硬件資料與相關擴展板軟硬件資料官網全部開源
 * 開發板官網:www.lckfb.com
 * 技術支持常駐論壇,任何技術問題歡迎隨時交流學習
 * 立創論壇:https://oshwhub.com/forum
 * 關注bilibili賬號:【立創開發板】,掌握我們的最新動態!
 * 不靠賣板賺錢,以培養中國工程師為己任
 * Change Logs:
 * Date           Author       Notes
 * 2024-06-18     LCKFB-LP    first version
 */
#include "board.h"
#include "stdio.h"
#include "bsp_uart.h"
#include "oled.h"

int32_t main(void)
{
    board_init();        // 開發板初始化

    uart1_init(115200);        // 串口1波特率115200

    OLED_Init();     //初始化OLED
    OLED_Clear();

    while(1)
    {
        OLED_ShowString(0,0,(uint8_t *)"ABC",8,1);//6*8 “ABC”
        OLED_ShowString(0,8,(uint8_t *)"ABC",12,1);//6*12 “ABC”
        OLED_ShowString(0,20,(uint8_t *)"ABC",16,1);//8*16 “ABC”
        OLED_ShowString(0,36,(uint8_t *)"ABC",24,1);//12*24 “ABC”
        OLED_Refresh();
        delay_ms(100);

    }
}

上電效果:

wKgZO2ggXX2AE4fXAAH31cha-0A982.jpg

模塊移植成功案例代碼:

鏈接:https://pan.baidu.com/s/1YnMyfuDg7ax4LpDQ028dWQ?pwd=LCKF 提取碼:LCKF

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

    關注

    1

    文章

    398

    瀏覽量

    28672
  • IIC
    IIC
    +關注

    關注

    11

    文章

    306

    瀏覽量

    39427
  • CW32
    +關注

    關注

    1

    文章

    255

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    CW32移植Free-RTOS】CW32開發者扶持計劃

    CW32配置Free-RTOS全過程,CW32開發者扶持計劃
    的頭像 發表于 04-18 09:38 ?6635次閱讀
    【<b class='flag-5'>CW32</b>移植Free-RTOS】<b class='flag-5'>CW32</b>開發者扶持計劃

    CW32快速開發入門

    CW32快速開發入門
    的頭像 發表于 04-24 18:56 ?2728次閱讀
    <b class='flag-5'>CW32</b>快速開發入門

    CW32開發者扶持計劃#CW32 #芯片

    CW32
    CW32生態社區
    發布于 :2023年05月24日 16:56:14

    基于 SPI 協議在 0.96 OLED上

    硬件——0.96OLED顯示模塊0.91 1.3液晶供原理圖12864
    發表于 11-30 08:26

    0.96IIC通訊OLED顯示時有時無的原因?怎么解決?

    最近使用0.96IIC的OLED顯示 突然發現有的時候,上電以后顯示不會亮,但有時候就沒事,一直用的相同的程序,不知道啥子問題,板子給
    發表于 10-08 15:04

    0.96_OLED顯示_arduino_IIC_例程

    0.96OLED顯示_arduino_IIC_例程.rar
    發表于 07-11 18:43 ?96次下載

    0.96單色OLED驅動板電路原理圖免費下載

    本文檔的主要內容詳細介紹的是0.96單色OLED驅動板電路原理圖免費下載。
    發表于 07-23 08:00 ?44次下載
    <b class='flag-5'>0.96</b><b class='flag-5'>寸</b><b class='flag-5'>單色</b>OLED驅動板電路原理圖免費下載

    利用51單片機+0.96iic接口oled顯示圖片或動圖

    ~利用51單片機+0.96iic接口oled顯示圖片或動圖
    發表于 11-10 17:21 ?34次下載
    利用51單片機+<b class='flag-5'>0.96</b><b class='flag-5'>寸</b><b class='flag-5'>iic</b>接口oled顯示圖片或動圖

    基于 SPI 協議在 0.96 OLED上【平滑顯示漢字】及【溫濕度數據采集顯示】

    硬件——0.96OLED顯示模塊0.91 1.3液晶供原理圖12864
    發表于 11-21 18:21 ?20次下載
    基于 SPI 協議在 <b class='flag-5'>0.96</b> <b class='flag-5'>寸</b> OLED上【平滑顯示漢字】及【溫濕度數據采集顯示】

    cw32和stm32的區別

    cw32和stm32的區別 CW32和STM32是兩種常見的單片機,被廣泛應用于各種電子設備中。在本文中,我們將深入探討CW32和STM32之間的區別和優劣勢。 1. 硬件性能 硬件性能是衡量單片機
    的頭像 發表于 08-16 11:15 ?5478次閱讀

    基于CW32的RC522刷卡模塊的應用

    基于CW32的RC522刷卡模塊的應用
    的頭像 發表于 11-02 14:53 ?1694次閱讀
    基于<b class='flag-5'>CW32</b>的RC522刷卡<b class='flag-5'>模塊</b>的應用

    基于CW32的物聯網應用

    CW32】基于CW32的物聯網應用
    的頭像 發表于 11-02 15:55 ?1208次閱讀
    基于<b class='flag-5'>CW32</b>的物聯網應用

    【外設移植】0.96IIC單色+Ai-M61開發板

    本作品由安信可社區用戶 沈夜 制作 ? 01外設介紹 先來介紹下0.96OLED顯示(驅動芯片:SSD1306 / SSD1315) [color=rgba(0, 0, 0, 0.87
    的頭像 發表于 02-26 09:54 ?3898次閱讀
    【外設移植】<b class='flag-5'>0.96</b><b class='flag-5'>寸</b><b class='flag-5'>IIC</b><b class='flag-5'>單色</b><b class='flag-5'>屏</b>+Ai-M61開發板

    CW32模塊使用】0.96SPI單色

    硬件SPI與軟件SPI相比,硬件SPI是靠硬件上面的SPI控制器,所有的時鐘邊緣采樣,時鐘發生,還有時序控制,都是由硬件完成的。它降低了CPU的使用率,提高了運行速度。軟件SPI就是用代碼控制IO輸出高低電平,模擬SPI的時序,這種方法通信速度較慢,且不可靠。
    的頭像 發表于 03-29 17:29 ?2593次閱讀
    【<b class='flag-5'>CW32</b><b class='flag-5'>模塊</b>使用】<b class='flag-5'>0.96</b><b class='flag-5'>寸</b>SPI<b class='flag-5'>單色</b><b class='flag-5'>屏</b>

    CW32模塊使用 1.3單色OLED顯示

    0.21(V) 驅動芯片: SH1106 通信協議: SPI(可調IIC) 三、移植過程 我們的目標是將例程移植至立創·CW32F030C8T6開發板上。按照以下步驟,即可完成移植。 將源碼導入工程; 根據編譯報錯處進行粗改;
    的頭像 發表于 07-01 14:57 ?103次閱讀
    <b class='flag-5'>CW32</b><b class='flag-5'>模塊</b>使用 1.3<b class='flag-5'>寸</b><b class='flag-5'>單色</b>OLED顯示<b class='flag-5'>屏</b>
    主站蜘蛛池模板: 国产资源站 | 天天操你 | 四虎影城库 | 色视频在线观看 | 免费观看视频在线观看 | 成人剧场| 欧美三级网址 | 91大神大战高跟丝袜美女 | 手机看片欧美日韩 | japan日韩xxxx69hd jdav视频在线观看 | 夜夜操网站 | 天天做天天看夜夜爽毛片 | 人人草人人 | 色日本视频| 天天爽夜夜爽夜夜爽精品视频 | 五月婷在线观看 | 国内精品久久久久久影院老狼 | 欧美三级一级片 | 国产女人视频 | 好紧好爽太大了h视频 | 国产美女亚洲精品久久久久久 | 日本成人a视频 | 亚洲一区二区中文字幕 | 亚洲视频在线不卡 | 日本68xxxxxxxxx老师 | 国产精品亚洲一区二区三区在线播放 | 91精品啪国产在线观看免费牛牛 | 91福利视频网| 视频色版| 天天狠操 | 亚洲精品午夜视频 | 中文字幕人成不卡一区 | 伊人久色| yy6080理aa级伦大片一级 | 俺来色| 双性受粗大撑开白浊 | 狠狠干夜夜操 | 五月激情六月 | 日本在线黄 | 久久手机免费视频 | 亚洲天天做夜夜做天天欢人人 |