RM新时代网站-首页

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

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

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

STM32CUBEMX開發(fā)GD32F303(14)----IIC之配置OLED

嵌入式單片機MCU開發(fā) ? 來源:嵌入式單片機MCU開發(fā) ? 作者:嵌入式單片機MCU開 ? 2023-07-26 13:52 ? 次閱讀

概述

本章STM32CUBEMX配置STM32F103,并且在GD32F303中進行開發(fā),同時通過開發(fā)板內(nèi)進行驗證。 使用IIC進行驅(qū)動SSD1306的12864OLED。 最近在弄ST和GD的課程,需要GD樣片的可以加群申請:615061293 。

視頻教學

https://www.bilibili.com/video/BV1Q8411t7sK/

csdn課程

課程更加詳細。 https://download.csdn.net/course/detail/37152

樣品申請

https://www.wjx.top/vm/mB2IKus.aspx

生成例程

這里準備了自己繪制的開發(fā)板進行驗證。 在這里插入圖片描述 查看原理圖,PB8和PB9設置為開發(fā)板的IIC。 在這里插入圖片描述

配置時鐘

配置時鐘為64M。 在這里插入圖片描述

IIC配置

本次實驗使用的IIC與顯示屏通信,配置如下。 在這里插入圖片描述

OLED

查看文檔可以知道地址為b0111100或者b0111101,當R/W位置寫0的時候,才能進行寫的操作,那么地址默認為0x78(b01111000)或者0x7A(b01111010)

在這里插入圖片描述

參考程序

這里使用0.96OLED顯示屏_STM32F103C8_IIC_V1.0來進行移植 在這里插入圖片描述在這里插入圖片描述 查看工程可以知道主要是有3個文件來進行OLED的驅(qū)動,移入OLE.h .c 、oledfont.h 、 bmp.h 移入文件之后要注意導入C文件。 在這里插入圖片描述

刪除沒有用的頭文件 刪除sys.h文件 在這里插入圖片描述

刪除delay.h文件 在這里插入圖片描述

可以查看stdint.h 在這里插入圖片描述

在oled.h中添加u8 u32定義 也可以直接修改

typedef unsigned          char u8;
typedef unsigned           int u32;

在這里插入圖片描述 先把oled.h添加主程序中。 在這里插入圖片描述

查看oled.h,可以看到IIC定義,同時也是模擬IIC,可以注釋掉 在這里插入圖片描述

查看oled.c,可以看到是模擬iic,這些都可以注釋不要,我們使用的是iIC,不是模擬。

在這里插入圖片描述

HAL_I2C_Mem_Write()

IIC寫固定的設備寫入數(shù)據(jù)。 記得導入#include "i2c.h" 在這里插入圖片描述

將HAL_I2C_Mem_Write函數(shù)放入oled.c中。 例如將Write_IIC_Command函數(shù)修改為HAL_I2C_Mem_Write發(fā)送方式。 在這里插入圖片描述

向0x78設備寫命令0x00的IIC_Command指令。

/**********************************************
// IIC Write Command
**********************************************/
void Write_IIC_Command(unsigned char IIC_Command)
{
//   IIC_Start();
//   Write_IIC_Byte(0x78);            //Slave address,SA0=0
//    IIC_Wait_Ack();    
//   Write_IIC_Byte(0x00);            //write command
//    IIC_Wait_Ack();    
//   Write_IIC_Byte(IIC_Command); 
//    IIC_Wait_Ack();    
//   IIC_Stop();


     HAL_I2C_Mem_Write(&hi2c1 ,0x78,0x00,I2C_MEMADD_SIZE_8BIT,&IIC_Command,1,0x100);

}

IIC寫數(shù)據(jù) 向0x78設備寫數(shù)據(jù)0x40的IIC_Data指令。

/**********************************************
// IIC Write Data
**********************************************/
void Write_IIC_Data(unsigned char IIC_Data)
{
//   IIC_Start();
//   Write_IIC_Byte(0x78);            //D/C#=0; R/W#=0
//    IIC_Wait_Ack();    
//   Write_IIC_Byte(0x40);            //write data
//    IIC_Wait_Ack();    
//   Write_IIC_Byte(IIC_Data);
//    IIC_Wait_Ack();    
//   IIC_Stop();
     HAL_I2C_Mem_Write(&hi2c1 ,0x78,0x40,I2C_MEMADD_SIZE_8BIT,&IIC_Data,1,0x100);


}

在oled.c中,OLED_Init初始化可以注釋掉gpio初始化 在這里插入圖片描述

在oled.c中,OLED_Init初始化中有個延時800ms。 導入

#include "stm32f1xx_hal.h" 可以使用HAL_Delay(800);

在這里插入圖片描述

取模

在這里插入圖片描述

在這里插入圖片描述 在oledfont.h中放入字庫 在這里插入圖片描述

char Hzk[][32]={

// 記(0) 帖(1) 年(2) 月(3) 日(4)

{0x40,0x40,0x42,0xCC,0x00,0x00,0x00,0x84,0x84,0x84,0x84,0x84,0xFC,0x00,0x00,0x00},
{0x00,0x00,0x00,0x7F,0x20,0x10,0x00,0x3F,0x40,0x40,0x40,0x40,0x41,0x40,0x70,0x00},/*"記",0*/
/* (16 X 16 , 宋體 )*/

{0x00,0xF8,0x08,0xFF,0x08,0xF8,0x00,0x00,0x00,0x00,0xFF,0x10,0x10,0x10,0x10,0x00},
{0x00,0x0F,0x00,0xFF,0x08,0x0F,0x00,0xFF,0x41,0x41,0x41,0x41,0x41,0xFF,0x00,0x00},/*"帖",1*/
/* (16 X 16 , 宋體 )*/

{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},/*"年",2*/
/* (16 X 16 , 宋體 )*/

{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},/*"月",3*/
/* (16 X 16 , 宋體 )*/

{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},/*"日",4*/
/* (16 X 16 , 宋體 )*/




};

在main.c中添加顯示

OLED_Init();            //初始化OLED  
        OLED_Clear()      ; 
        OLED_ShowCHinese(0,0,0);//記
        OLED_ShowCHinese(16,0,1);//帖


        OLED_ShowNum(0,2,2022,4,16);//顯示ASCII字符的碼值             
        OLED_ShowCHinese(32,2,2);//年    
        OLED_ShowNum(48,2,9,1,16);//顯示ASCII字符的碼值         
        OLED_ShowCHinese(64,2,3);//月
        OLED_ShowNum(80,2,10,2,16);//顯示ASCII字符的碼值                 
        OLED_ShowCHinese(96,2,4);//日

字體大小只有2個 在這里插入圖片描述 顯示字符

OLED_ShowString(40,2,"ZXY",8);

在這里插入圖片描述

圖片

圖片放在bmp.h中。

#ifndef __BMP_H
#define __BMP_H        

unsigned char BMP1[]={
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x1F,0x1F,0x7F,0xFF,0xFF,
0xFF,0xFF,0xFF,0x8F,0x8F,0x8F,0x8F,0x8F,0x8F,0x8F,0x8F,0x8F,0x8F,0x8F,0x0F,0x0F,
0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x8F,0x8F,0x8F,0x8F,0x8F,0x8F,0x8F,0x8F,0x8F,
0x8F,0x8F,0x8F,0x8F,0x8F,0x8F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC7,0xC7,0xC7,0xC4,0x04,0x04,0x04,0x07,0xFF,
0xFF,0xFF,0xFF,0x0F,0x0F,0x0F,0x0F,0x8F,0x8F,0x8F,0x8F,0x8F,0x8F,0x8F,0x80,0x80,
0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE3,0xE3,0xE3,0xE3,0xE3,0xE3,
0xE3,0xE3,0xE3,0xE3,0xE3,0xE3,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x1F,
0x1F,0x1F,0xFF,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x8F,0x8F,0x8F,
0x8F,0x8F,0x8F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x0F,0x0F,
0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x06,0x06,0x07,0x0F,
0xFF,0xFF,0xFF,0xF8,0xF8,0xF8,0xF8,0xF8,0xF8,0xF8,0xF8,0xF8,0xF8,0xF8,0x00,0x00,
0x00,0x00,0xF8,0xF8,0xF8,0xF8,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,
0x00,0xC7,0xC7,0xC7,0xC7,0xC7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,
0xFF,0x00,0x00,0x00,0xFF,0xFF,0x0F,0x0F,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,
0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0x03,0x03,0x03,0xE3,0xE0,0xE0,0xE0,
0xE0,0xE3,0xE3,0x03,0x03,0x03,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,0xF0,0xF0,0xF0,
0xFF,0xF0,0xF0,0xF0,0xFF,0xFF,0xF0,0xF0,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,0xF0,
0xF0,0xF0,0xF0,0xF8,0xF8,0xF8,0xFF,0xFF,0xF0,0xF0,0xF0,0xF0,0xF1,0xF1,0xF1,0xF1,
0xF1,0xF1,0xF1,0xF0,0xF0,0xF0,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*"D:GD32F303GD32F30x_Firmware_Library_V2.1.4_iic_oled記帖.bmp",0*/
/* (64 X 64 )*/

};


#endif

顯示圖片

delay_1ms(2000);
        OLED_Clear();      
        OLED_DrawBMP(0,0,64,8,BMP1);  //圖片顯示(圖片顯示慎用,生成的字表較大,會占用較多空間,F(xiàn)LASH空間8K以下慎用)

在這里插入圖片描述

OLED.C

//////////////////////////////////////////////////////////////////////////////////     
//本程序只供學習使用,未經(jīng)作者許可,不得用于其它任何用途
//記帖Q群:615061293
//B站視頻:https://space.bilibili.com/26152390
//CSDN:https://blog.csdn.net/qq_24312945/
//  文 件 名   : main.c
//  版 本 號   : v2.0
//  作    者   : Evk123
//  生成日期   : 2014-0101
//  最近修改   : 
//  功能描述   : 0.69寸OLED 接口演示例程(STM32F103ZE系列IIC)
//              說明: 
//              ----------------------------------------------------------------
//              GND   電源
//              VCC   接5V或3.3v電源
//              SCL   接PA5(SCL)
//              SDA   接PA7(SDA)            
//              ----------------------------------------------------------------
//記帖Q群:615061293
//All rights reserved
//////////////////////////////////////////////////////////////////////////////////
#include "oled.h"
#include "stdlib.h"
#include "oledfont.h"       
//#include "delay.h"
#include "stm32f1xx_hal.h"
#include "i2c.h"

//OLED的顯存
//存放格式如下.
//[0]0 1 2 3 ... 127    
//[1]0 1 2 3 ... 127    
//[2]0 1 2 3 ... 127    
//[3]0 1 2 3 ... 127    
//[4]0 1 2 3 ... 127    
//[5]0 1 2 3 ... 127    
//[6]0 1 2 3 ... 127    
//[7]0 1 2 3 ... 127                
/**********************************************
//IIC Start
**********************************************/
/**********************************************
//IIC Start
**********************************************/
//void IIC_Start()
//{

//    OLED_SCLK_Set() ;
//    OLED_SDIN_Set();
//    OLED_SDIN_Clr();
//    OLED_SCLK_Clr();
//}

///**********************************************
////IIC Stop
//**********************************************/
//void IIC_Stop()
//{
//OLED_SCLK_Set() ;
////    OLED_SCLK_Clr();
//    OLED_SDIN_Clr();
//    OLED_SDIN_Set();
//    
//}

//void IIC_Wait_Ack()
//{

//    //GPIOB- >CRH &= 0XFFF0FFFF;    //設置PB12為上拉輸入模式
//    //GPIOB- >CRH |= 0x00080000;
////    OLED_SDA = 1;
////    delay_us(1);
//    //OLED_SCL = 1;
//    //delay_us(50000);
///*    while(1)
//    {
//        if(!OLED_SDA)                //判斷是否接收到OLED 應答信號
//        {
//            //GPIOB- >CRH &= 0XFFF0FFFF;    //設置PB12為通用推免輸出模式
//            //GPIOB- >CRH |= 0x00030000;
//            return;
//        }
//    }
//*/
//    OLED_SCLK_Set() ;
//    OLED_SCLK_Clr();
//}
///**********************************************
//// IIC Write byte
//**********************************************/

//void Write_IIC_Byte(unsigned char IIC_Byte)
//{
//    unsigned char i;
//    unsigned char m,da;
//    da=IIC_Byte;
//    OLED_SCLK_Clr();
//    for(i=0;i< 8;i++)        
//    {
//            m=da;
//        //    OLED_SCLK_Clr();
//        m=m&0x80;
//        if(m==0x80)
//        {OLED_SDIN_Set();}
//        else OLED_SDIN_Clr();
//            da=da< 
//        OLED_SCLK_Set();
//        OLED_SCLK_Clr();
//        }


//}
/**********************************************
// IIC Write Command
**********************************************/
void Write_IIC_Command(unsigned char IIC_Command)
{
//   IIC_Start();
//   Write_IIC_Byte(0x78);            //Slave address,SA0=0
//    IIC_Wait_Ack();    
//   Write_IIC_Byte(0x00);            //write command
//    IIC_Wait_Ack();    
//   Write_IIC_Byte(IIC_Command); 
//    IIC_Wait_Ack();    
//   IIC_Stop();


     HAL_I2C_Mem_Write(&hi2c1 ,0x78,0x00,I2C_MEMADD_SIZE_8BIT,&IIC_Command,1,0x100);

}
/**********************************************
// IIC Write Data
**********************************************/
void Write_IIC_Data(unsigned char IIC_Data)
{
//   IIC_Start();
//   Write_IIC_Byte(0x78);            //D/C#=0; R/W#=0
//    IIC_Wait_Ack();    
//   Write_IIC_Byte(0x40);            //write data
//    IIC_Wait_Ack();    
//   Write_IIC_Byte(IIC_Data);
//    IIC_Wait_Ack();    
//   IIC_Stop();
     HAL_I2C_Mem_Write(&hi2c1 ,0x78,0x40,I2C_MEMADD_SIZE_8BIT,&IIC_Data,1,0x100);


}
void OLED_WR_Byte(unsigned dat,unsigned cmd)
{
    if(cmd)
            {

   Write_IIC_Data(dat);

        }
    else {
   Write_IIC_Command(dat);

    }


}


/********************************************
// fill_Picture
********************************************/
void fill_picture(unsigned char fill_Data)
{
    unsigned char m,n;
    for(m=0;m< 8;m++)
    {
        OLED_WR_Byte(0xb0+m,0);        //page0-page1
        OLED_WR_Byte(0x00,0);        //low column start address
        OLED_WR_Byte(0x10,0);        //high column start address
        for(n=0;n< 128;n++)
            {
                OLED_WR_Byte(fill_Data,1);
            }
    }
}


/***********************Delay****************************************/
void Delay_50ms(unsigned int Del_50ms)
{
    unsigned int m;
    for(;Del_50ms >0;Del_50ms--)
        for(m=6245;m >0;m--);
}

void Delay_1ms(unsigned int Del_1ms)
{
    unsigned char j;
    while(Del_1ms--)
    {    
        for(j=0;j< 123;j++);
    }
}

//坐標設置

    void OLED_Set_Pos(unsigned char x, unsigned char y) 
{     OLED_WR_Byte(0xb0+y,OLED_CMD);
    OLED_WR_Byte(((x&0xf0) >>4)|0x10,OLED_CMD);
    OLED_WR_Byte((x&0x0f),OLED_CMD); 
}         
//開啟OLED顯示    
void OLED_Display_On(void)
{
    OLED_WR_Byte(0X8D,OLED_CMD);  //SET DCDC命令
    OLED_WR_Byte(0X14,OLED_CMD);  //DCDC ON
    OLED_WR_Byte(0XAF,OLED_CMD);  //DISPLAY ON
}
//關閉OLED顯示     
void OLED_Display_Off(void)
{
    OLED_WR_Byte(0X8D,OLED_CMD);  //SET DCDC命令
    OLED_WR_Byte(0X10,OLED_CMD);  //DCDC OFF
    OLED_WR_Byte(0XAE,OLED_CMD);  //DISPLAY OFF
}                        
//清屏函數(shù),清完屏,整個屏幕是黑色的!和沒點亮一樣!!!      
void OLED_Clear(void)  
{  
    u8 i,n;            
    for(i=0;i< 8;i++)  
    {  
        OLED_WR_Byte (0xb0+i,OLED_CMD);    //設置頁地址(0~7)
        OLED_WR_Byte (0x00,OLED_CMD);      //設置顯示位置—列低地址
        OLED_WR_Byte (0x10,OLED_CMD);      //設置顯示位置—列高地址   
        for(n=0;n< 128;n++)OLED_WR_Byte(0,OLED_DATA); 
    } //更新顯示
}
void OLED_On(void)  
{  
    u8 i,n;            
    for(i=0;i< 8;i++)  
    {  
        OLED_WR_Byte (0xb0+i,OLED_CMD);    //設置頁地址(0~7)
        OLED_WR_Byte (0x00,OLED_CMD);      //設置顯示位置—列低地址
        OLED_WR_Byte (0x10,OLED_CMD);      //設置顯示位置—列高地址   
        for(n=0;n< 128;n++)OLED_WR_Byte(1,OLED_DATA); 
    } //更新顯示
}
//在指定位置顯示一個字符,包括部分字符
//x:0~127
//y:0~63
//mode:0,反白顯示;1,正常顯示                 
//size:選擇字體 16/12 
void OLED_ShowChar(u8 x,u8 y,u8 chr,u8 Char_Size)
{          
    unsigned char c=0,i=0;    
        c=chr-' ';//得到偏移后的值            
        if(x >Max_Column-1){x=0;y=y+2;}
        if(Char_Size ==16)
            {
            OLED_Set_Pos(x,y);    
            for(i=0;i< 8;i++)
            OLED_WR_Byte(F8X16[c*16+i],OLED_DATA);
            OLED_Set_Pos(x,y+1);
            for(i=0;i< 8;i++)
            OLED_WR_Byte(F8X16[c*16+i+8],OLED_DATA);
            }
            else {    
                OLED_Set_Pos(x,y);
                for(i=0;i< 6;i++)
                OLED_WR_Byte(F6x8[c][i],OLED_DATA);

            }
}
//m^n函數(shù)
u32 oled_pow(u8 m,u8 n)
{
    u32 result=1;     
    while(n--)result*=m;    
    return result;
}                  
//顯示2個數(shù)字
//x,y :起點坐標     
//len :數(shù)字的位數(shù)
//size:字體大小
//mode:模式    0,填充模式;1,疊加模式
//num:數(shù)值(0~4294967295);               
void OLED_ShowNum(u8 x,u8 y,u32 num,u8 len,u8 size2)
{             
    u8 t,temp;
    u8 enshow=0;                           
    for(t=0;t< len;t++)
    {
        temp=(num/oled_pow(10,len-t-1))%10;
        if(enshow==0&&t< (len-1))
        {
            if(temp==0)
            {
                OLED_ShowChar(x+(size2/2)*t,y,' ',size2);
                continue;
            }else enshow=1; 

        }
         OLED_ShowChar(x+(size2/2)*t,y,temp+'0',size2); 
    }
} 
//顯示一個字符號串
void OLED_ShowString(u8 x,u8 y,u8 *chr,u8 Char_Size)
{
    unsigned char j=0;
    while (chr[j]!='?')
    {        OLED_ShowChar(x,y,chr[j],Char_Size);
            x+=8;
        if(x >120){x=0;y+=2;}
            j++;
    }
}
//顯示漢字
void OLED_ShowCHinese(u8 x,u8 y,u8 no)
{                      
    u8 t,adder=0;
    OLED_Set_Pos(x,y);    
    for(t=0;t< 16;t++)
        {
                OLED_WR_Byte(Hzk[2*no][t],OLED_DATA);
                adder+=1;
     }    
        OLED_Set_Pos(x,y+1);    
    for(t=0;t< 16;t++)
            {    
                OLED_WR_Byte(Hzk[2*no+1][t],OLED_DATA);
                adder+=1;
      }                    
}
/***********功能描述:顯示顯示BMP圖片128×64起始點坐標(x,y),x的范圍0~127,y為頁的范圍0~7*****************/
void OLED_DrawBMP(unsigned char x0, unsigned char y0,unsigned char x1, unsigned char y1,unsigned char BMP[])
{     
 unsigned int j=0;
 unsigned char x,y;

  if(y1%8==0) y=y1/8;      
  else y=y1/8+1;
    for(y=y0;y< y1;y++)
    {
        OLED_Set_Pos(x0,y);
    for(x=x0;x< x1;x++)
        {      
            OLED_WR_Byte(BMP[j++],OLED_DATA);            
        }
    }
} 

//初始化SSD1306                        
void OLED_Init(void)
{     




//     GPIO_InitTypeDef  GPIO_InitStructure;
//     

//    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);     //使能A端口時鐘
//    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5|GPIO_Pin_7;     
//     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;          //推挽輸出
//    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//速度50MHz
//     GPIO_Init(GPIOA, &GPIO_InitStructure);      //初始化GPIOD3,6
//     GPIO_SetBits(GPIOA,GPIO_Pin_5|GPIO_Pin_7);    


//delay_ms(800);

    HAL_Delay(800);


OLED_WR_Byte(0xAE,OLED_CMD);//--display off
    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  
    OLED_WR_Byte(0xB0,OLED_CMD);//--set page address
    OLED_WR_Byte(0x81,OLED_CMD); // contract control
    OLED_WR_Byte(0xFF,OLED_CMD);//--128   
    OLED_WR_Byte(0xA1,OLED_CMD);//set segment remap 
    OLED_WR_Byte(0xA6,OLED_CMD);//--normal / reverse
    OLED_WR_Byte(0xA8,OLED_CMD);//--set multiplex ratio(1 to 64)
    OLED_WR_Byte(0x3F,OLED_CMD);//--1/32 duty
    OLED_WR_Byte(0xC8,OLED_CMD);//Com scan direction
    OLED_WR_Byte(0xD3,OLED_CMD);//-set display offset
    OLED_WR_Byte(0x00,OLED_CMD);//

    OLED_WR_Byte(0xD5,OLED_CMD);//set osc division
    OLED_WR_Byte(0x80,OLED_CMD);//

    OLED_WR_Byte(0xD8,OLED_CMD);//set area color mode off
    OLED_WR_Byte(0x05,OLED_CMD);//

    OLED_WR_Byte(0xD9,OLED_CMD);//Set Pre-Charge Period
    OLED_WR_Byte(0xF1,OLED_CMD);//

    OLED_WR_Byte(0xDA,OLED_CMD);//set com pin configuartion
    OLED_WR_Byte(0x12,OLED_CMD);//

    OLED_WR_Byte(0xDB,OLED_CMD);//set Vcomh
    OLED_WR_Byte(0x30,OLED_CMD);//

    OLED_WR_Byte(0x8D,OLED_CMD);//set charge pump enable
    OLED_WR_Byte(0x14,OLED_CMD);//

    OLED_WR_Byte(0xAF,OLED_CMD);//--turn on oled panel
}

OLED.h

//////////////////////////////////////////////////////////////////////////////////     
//本程序只供學習使用,未經(jīng)作者許可,不得用于其它任何用途

//
//  文 件 名   : main.c
//  版 本 號   : v2.0
//  作    者   : Evk123
//  生成日期   : 2014-0101
//  最近修改   : 
//  功能描述   : 0.69寸OLED 接口演示例程(STM32F103ZE系列IIC)
//              說明: 
//              ----------------------------------------------------------------
//              GND   電源地
//              VCC   接5V或3.3v電源
//              SCL   接PA5(SCL)
//              SDA   接PA7(SDA)            
//              ----------------------------------------------------------------
//記帖Q群:615061293
//B站視頻:https://space.bilibili.com/26152390
//CSDN:https://blog.csdn.net/qq_24312945/
//All rights reserved
//////////////////////////////////////////////////////////////////////////////////

#ifndef __OLED_H
#define __OLED_H                   

#include "stdlib.h"            
#define OLED_MODE 0
#define SIZE 8
#define XLevelL        0x00
#define XLevelH        0x10
#define Max_Column    128
#define Max_Row        64
#define    Brightness    0xFF 
#define X_WIDTH     128
#define Y_WIDTH     64                                  
//-----------------OLED IIC端口定義----------------                         

//#define OLED_SCLK_Clr() GPIO_ResetBits(GPIOA,GPIO_Pin_5)//SCL
//#define OLED_SCLK_Set() GPIO_SetBits(GPIOA,GPIO_Pin_5)

//#define OLED_SDIN_Clr() GPIO_ResetBits(GPIOA,GPIO_Pin_7)//SDA
//#define OLED_SDIN_Set() GPIO_SetBits(GPIOA,GPIO_Pin_7)


#define OLED_CMD  0    //寫命令
#define OLED_DATA 1    //寫數(shù)據(jù)



typedef unsigned          char u8;
typedef unsigned           int u32;


//OLED控制用函數(shù)
void OLED_WR_Byte(unsigned dat,unsigned cmd);  
void OLED_Display_On(void);
void OLED_Display_Off(void);                                                  
void OLED_Init(void);
void OLED_Clear(void);
void OLED_DrawPoint(u8 x,u8 y,u8 t);
void OLED_Fill(u8 x1,u8 y1,u8 x2,u8 y2,u8 dot);
void OLED_ShowChar(u8 x,u8 y,u8 chr,u8 Char_Size);
void OLED_ShowNum(u8 x,u8 y,u32 num,u8 len,u8 size);
void OLED_ShowString(u8 x,u8 y, u8 *p,u8 Char_Size);     
void OLED_Set_Pos(unsigned char x, unsigned char y);
void OLED_ShowCHinese(u8 x,u8 y,u8 no);
void OLED_DrawBMP(unsigned char x0, unsigned char y0,unsigned char x1, unsigned char y1,unsigned char BMP[]);
void Delay_50ms(unsigned int Del_50ms);
void Delay_1ms(unsigned int Del_1ms);
void fill_picture(unsigned char fill_Data);
void Picture();
void IIC_Start();
void IIC_Stop();
void Write_IIC_Command(unsigned char IIC_Command);
void Write_IIC_Data(unsigned char IIC_Data);
void Write_IIC_Byte(unsigned char IIC_Byte);

void IIC_Wait_Ack();
#endif

OLEDFONT.H

#ifndef __OLEDFONT_H
#define __OLEDFONT_H        
//常用ASCII表
//偏移量32
//ASCII字符集
//偏移量32
//大小:12*6
/************************************6*8的點陣************************************/
const unsigned char F6x8[][6] =        
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,// sp
0x00, 0x00, 0x00, 0x2f, 0x00, 0x00,// !
0x00, 0x00, 0x07, 0x00, 0x07, 0x00,// "
0x00, 0x14, 0x7f, 0x14, 0x7f, 0x14,// #
0x00, 0x24, 0x2a, 0x7f, 0x2a, 0x12,// $
0x00, 0x62, 0x64, 0x08, 0x13, 0x23,// %
0x00, 0x36, 0x49, 0x55, 0x22, 0x50,// &
0x00, 0x00, 0x05, 0x03, 0x00, 0x00,// '
0x00, 0x00, 0x1c, 0x22, 0x41, 0x00,// (
0x00, 0x00, 0x41, 0x22, 0x1c, 0x00,// )
0x00, 0x14, 0x08, 0x3E, 0x08, 0x14,// *
0x00, 0x08, 0x08, 0x3E, 0x08, 0x08,// +
0x00, 0x00, 0x00, 0xA0, 0x60, 0x00,// ,
0x00, 0x08, 0x08, 0x08, 0x08, 0x08,// -
0x00, 0x00, 0x60, 0x60, 0x00, 0x00,// .
0x00, 0x20, 0x10, 0x08, 0x04, 0x02,// /
0x00, 0x3E, 0x51, 0x49, 0x45, 0x3E,// 0
0x00, 0x00, 0x42, 0x7F, 0x40, 0x00,// 1
0x00, 0x42, 0x61, 0x51, 0x49, 0x46,// 2
0x00, 0x21, 0x41, 0x45, 0x4B, 0x31,// 3
0x00, 0x18, 0x14, 0x12, 0x7F, 0x10,// 4
0x00, 0x27, 0x45, 0x45, 0x45, 0x39,// 5
0x00, 0x3C, 0x4A, 0x49, 0x49, 0x30,// 6
0x00, 0x01, 0x71, 0x09, 0x05, 0x03,// 7
0x00, 0x36, 0x49, 0x49, 0x49, 0x36,// 8
0x00, 0x06, 0x49, 0x49, 0x29, 0x1E,// 9
0x00, 0x00, 0x36, 0x36, 0x00, 0x00,// :
0x00, 0x00, 0x56, 0x36, 0x00, 0x00,// ;
0x00, 0x08, 0x14, 0x22, 0x41, 0x00,// < 
0x00, 0x14, 0x14, 0x14, 0x14, 0x14,// =
0x00, 0x00, 0x41, 0x22, 0x14, 0x08,// >
0x00, 0x02, 0x01, 0x51, 0x09, 0x06,// ?
0x00, 0x32, 0x49, 0x59, 0x51, 0x3E,// @
0x00, 0x7C, 0x12, 0x11, 0x12, 0x7C,// A
0x00, 0x7F, 0x49, 0x49, 0x49, 0x36,// B
0x00, 0x3E, 0x41, 0x41, 0x41, 0x22,// C
0x00, 0x7F, 0x41, 0x41, 0x22, 0x1C,// D
0x00, 0x7F, 0x49, 0x49, 0x49, 0x41,// E
0x00, 0x7F, 0x09, 0x09, 0x09, 0x01,// F
0x00, 0x3E, 0x41, 0x49, 0x49, 0x7A,// G
0x00, 0x7F, 0x08, 0x08, 0x08, 0x7F,// H
0x00, 0x00, 0x41, 0x7F, 0x41, 0x00,// I
0x00, 0x20, 0x40, 0x41, 0x3F, 0x01,// J
0x00, 0x7F, 0x08, 0x14, 0x22, 0x41,// K
0x00, 0x7F, 0x40, 0x40, 0x40, 0x40,// L
0x00, 0x7F, 0x02, 0x0C, 0x02, 0x7F,// M
0x00, 0x7F, 0x04, 0x08, 0x10, 0x7F,// N
0x00, 0x3E, 0x41, 0x41, 0x41, 0x3E,// O
0x00, 0x7F, 0x09, 0x09, 0x09, 0x06,// P
0x00, 0x3E, 0x41, 0x51, 0x21, 0x5E,// Q
0x00, 0x7F, 0x09, 0x19, 0x29, 0x46,// R
0x00, 0x46, 0x49, 0x49, 0x49, 0x31,// S
0x00, 0x01, 0x01, 0x7F, 0x01, 0x01,// T
0x00, 0x3F, 0x40, 0x40, 0x40, 0x3F,// U
0x00, 0x1F, 0x20, 0x40, 0x20, 0x1F,// V
0x00, 0x3F, 0x40, 0x38, 0x40, 0x3F,// W
0x00, 0x63, 0x14, 0x08, 0x14, 0x63,// X
0x00, 0x07, 0x08, 0x70, 0x08, 0x07,// Y
0x00, 0x61, 0x51, 0x49, 0x45, 0x43,// Z
0x00, 0x00, 0x7F, 0x41, 0x41, 0x00,// [
0x00, 0x55, 0x2A, 0x55, 0x2A, 0x55,// 55
0x00, 0x00, 0x41, 0x41, 0x7F, 0x00,// ]
0x00, 0x04, 0x02, 0x01, 0x02, 0x04,// ^
0x00, 0x40, 0x40, 0x40, 0x40, 0x40,// _
0x00, 0x00, 0x01, 0x02, 0x04, 0x00,// '
0x00, 0x20, 0x54, 0x54, 0x54, 0x78,// a
0x00, 0x7F, 0x48, 0x44, 0x44, 0x38,// b
0x00, 0x38, 0x44, 0x44, 0x44, 0x20,// c
0x00, 0x38, 0x44, 0x44, 0x48, 0x7F,// d
0x00, 0x38, 0x54, 0x54, 0x54, 0x18,// e
0x00, 0x08, 0x7E, 0x09, 0x01, 0x02,// f
0x00, 0x18, 0xA4, 0xA4, 0xA4, 0x7C,// g
0x00, 0x7F, 0x08, 0x04, 0x04, 0x78,// h
0x00, 0x00, 0x44, 0x7D, 0x40, 0x00,// i
0x00, 0x40, 0x80, 0x84, 0x7D, 0x00,// j
0x00, 0x7F, 0x10, 0x28, 0x44, 0x00,// k
0x00, 0x00, 0x41, 0x7F, 0x40, 0x00,// l
0x00, 0x7C, 0x04, 0x18, 0x04, 0x78,// m
0x00, 0x7C, 0x08, 0x04, 0x04, 0x78,// n
0x00, 0x38, 0x44, 0x44, 0x44, 0x38,// o
0x00, 0xFC, 0x24, 0x24, 0x24, 0x18,// p
0x00, 0x18, 0x24, 0x24, 0x18, 0xFC,// q
0x00, 0x7C, 0x08, 0x04, 0x04, 0x08,// r
0x00, 0x48, 0x54, 0x54, 0x54, 0x20,// s
0x00, 0x04, 0x3F, 0x44, 0x40, 0x20,// t
0x00, 0x3C, 0x40, 0x40, 0x20, 0x7C,// u
0x00, 0x1C, 0x20, 0x40, 0x20, 0x1C,// v
0x00, 0x3C, 0x40, 0x30, 0x40, 0x3C,// w
0x00, 0x44, 0x28, 0x10, 0x28, 0x44,// x
0x00, 0x1C, 0xA0, 0xA0, 0xA0, 0x7C,// y
0x00, 0x44, 0x64, 0x54, 0x4C, 0x44,// z
0x14, 0x14, 0x14, 0x14, 0x14, 0x14,// horiz lines
};
/****************************************8*16的點陣************************************/
const unsigned char F8X16[]=      
#ifndef __OLEDFONT_H
#define __OLEDFONT_H        
//常用ASCII表
//偏移量32
//ASCII字符集
//偏移量32
//大小:12*6
/************************************6*8的點陣************************************/
const unsigned char F6x8[][6] =        
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,// sp
0x00, 0x00, 0x00, 0x2f, 0x00, 0x00,// !
0x00, 0x00, 0x07, 0x00, 0x07, 0x00,// "
0x00, 0x14, 0x7f, 0x14, 0x7f, 0x14,// #
0x00, 0x24, 0x2a, 0x7f, 0x2a, 0x12,// $
0x00, 0x62, 0x64, 0x08, 0x13, 0x23,// %
0x00, 0x36, 0x49, 0x55, 0x22, 0x50,// &
0x00, 0x00, 0x05, 0x03, 0x00, 0x00,// '
0x00, 0x00, 0x1c, 0x22, 0x41, 0x00,// (
0x00, 0x00, 0x41, 0x22, 0x1c, 0x00,// )
0x00, 0x14, 0x08, 0x3E, 0x08, 0x14,// *
0x00, 0x08, 0x08, 0x3E, 0x08, 0x08,// +
0x00, 0x00, 0x00, 0xA0, 0x60, 0x00,// ,
0x00, 0x08, 0x08, 0x08, 0x08, 0x08,// -
0x00, 0x00, 0x60, 0x60, 0x00, 0x00,// .
0x00, 0x20, 0x10, 0x08, 0x04, 0x02,// /
0x00, 0x3E, 0x51, 0x49, 0x45, 0x3E,// 0
0x00, 0x00, 0x42, 0x7F, 0x40, 0x00,// 1
0x00, 0x42, 0x61, 0x51, 0x49, 0x46,// 2
0x00, 0x21, 0x41, 0x45, 0x4B, 0x31,// 3
0x00, 0x18, 0x14, 0x12, 0x7F, 0x10,// 4
0x00, 0x27, 0x45, 0x45, 0x45, 0x39,// 5
0x00, 0x3C, 0x4A, 0x49, 0x49, 0x30,// 6
0x00, 0x01, 0x71, 0x09, 0x05, 0x03,// 7
0x00, 0x36, 0x49, 0x49, 0x49, 0x36,// 8
0x00, 0x06, 0x49, 0x49, 0x29, 0x1E,// 9
0x00, 0x00, 0x36, 0x36, 0x00, 0x00,// :
0x00, 0x00, 0x56, 0x36, 0x00, 0x00,// ;
0x00, 0x08, 0x14, 0x22, 0x41, 0x00,// < 
0x00, 0x14, 0x14, 0x14, 0x14, 0x14,// =
0x00, 0x00, 0x41, 0x22, 0x14, 0x08,// >
0x00, 0x02, 0x01, 0x51, 0x09, 0x06,// ?
0x00, 0x32, 0x49, 0x59, 0x51, 0x3E,// @
0x00, 0x7C, 0x12, 0x11, 0x12, 0x7C,// A
0x00, 0x7F, 0x49, 0x49, 0x49, 0x36,// B
0x00, 0x3E, 0x41, 0x41, 0x41, 0x22,// C
0x00, 0x7F, 0x41, 0x41, 0x22, 0x1C,// D
0x00, 0x7F, 0x49, 0x49, 0x49, 0x41,// E
0x00, 0x7F, 0x09, 0x09, 0x09, 0x01,// F
0x00, 0x3E, 0x41, 0x49, 0x49, 0x7A,// G
0x00, 0x7F, 0x08, 0x08, 0x08, 0x7F,// H
0x00, 0x00, 0x41, 0x7F, 0x41, 0x00,// I
0x00, 0x20, 0x40, 0x41, 0x3F, 0x01,// J
0x00, 0x7F, 0x08, 0x14, 0x22, 0x41,// K
0x00, 0x7F, 0x40, 0x40, 0x40, 0x40,// L
0x00, 0x7F, 0x02, 0x0C, 0x02, 0x7F,// M
0x00, 0x7F, 0x04, 0x08, 0x10, 0x7F,// N
0x00, 0x3E, 0x41, 0x41, 0x41, 0x3E,// O
0x00, 0x7F, 0x09, 0x09, 0x09, 0x06,// P
0x00, 0x3E, 0x41, 0x51, 0x21, 0x5E,// Q
0x00, 0x7F, 0x09, 0x19, 0x29, 0x46,// R
0x00, 0x46, 0x49, 0x49, 0x49, 0x31,// S
0x00, 0x01, 0x01, 0x7F, 0x01, 0x01,// T
0x00, 0x3F, 0x40, 0x40, 0x40, 0x3F,// U
0x00, 0x1F, 0x20, 0x40, 0x20, 0x1F,// V
0x00, 0x3F, 0x40, 0x38, 0x40, 0x3F,// W
0x00, 0x63, 0x14, 0x08, 0x14, 0x63,// X
0x00, 0x07, 0x08, 0x70, 0x08, 0x07,// Y
0x00, 0x61, 0x51, 0x49, 0x45, 0x43,// Z
0x00, 0x00, 0x7F, 0x41, 0x41, 0x00,// [
0x00, 0x55, 0x2A, 0x55, 0x2A, 0x55,// 55
0x00, 0x00, 0x41, 0x41, 0x7F, 0x00,// ]
0x00, 0x04, 0x02, 0x01, 0x02, 0x04,// ^
0x00, 0x40, 0x40, 0x40, 0x40, 0x40,// _
0x00, 0x00, 0x01, 0x02, 0x04, 0x00,// '
0x00, 0x20, 0x54, 0x54, 0x54, 0x78,// a
0x00, 0x7F, 0x48, 0x44, 0x44, 0x38,// b
0x00, 0x38, 0x44, 0x44, 0x44, 0x20,// c
0x00, 0x38, 0x44, 0x44, 0x48, 0x7F,// d
0x00, 0x38, 0x54, 0x54, 0x54, 0x18,// e
0x00, 0x08, 0x7E, 0x09, 0x01, 0x02,// f
0x00, 0x18, 0xA4, 0xA4, 0xA4, 0x7C,// g
0x00, 0x7F, 0x08, 0x04, 0x04, 0x78,// h
0x00, 0x00, 0x44, 0x7D, 0x40, 0x00,// i
0x00, 0x40, 0x80, 0x84, 0x7D, 0x00,// j
0x00, 0x7F, 0x10, 0x28, 0x44, 0x00,// k
0x00, 0x00, 0x41, 0x7F, 0x40, 0x00,// l
0x00, 0x7C, 0x04, 0x18, 0x04, 0x78,// m
0x00, 0x7C, 0x08, 0x04, 0x04, 0x78,// n
0x00, 0x38, 0x44, 0x44, 0x44, 0x38,// o
0x00, 0xFC, 0x24, 0x24, 0x24, 0x18,// p
0x00, 0x18, 0x24, 0x24, 0x18, 0xFC,// q
0x00, 0x7C, 0x08, 0x04, 0x04, 0x08,// r
0x00, 0x48, 0x54, 0x54, 0x54, 0x20,// s
0x00, 0x04, 0x3F, 0x44, 0x40, 0x20,// t
0x00, 0x3C, 0x40, 0x40, 0x20, 0x7C,// u
0x00, 0x1C, 0x20, 0x40, 0x20, 0x1C,// v
0x00, 0x3C, 0x40, 0x30, 0x40, 0x3C,// w
0x00, 0x44, 0x28, 0x10, 0x28, 0x44,// x
0x00, 0x1C, 0xA0, 0xA0, 0xA0, 0x7C,// y
0x00, 0x44, 0x64, 0x54, 0x4C, 0x44,// z
0x14, 0x14, 0x14, 0x14, 0x14, 0x14,// horiz lines
};
/****************************************8*16的點陣************************************/
const unsigned char F8X16[]=

審核編輯:湯梓紅

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

    關注

    119

    文章

    6198

    瀏覽量

    224093
  • IIC
    IIC
    +關注

    關注

    11

    文章

    300

    瀏覽量

    38311
  • 函數(shù)
    +關注

    關注

    3

    文章

    4327

    瀏覽量

    62569
  • stm32cubemx
    +關注

    關注

    5

    文章

    283

    瀏覽量

    14791
  • gd32f303
    +關注

    關注

    4

    文章

    38

    瀏覽量

    3685
收藏 人收藏

    評論

    相關推薦

    STM32CUBEMX開發(fā)GD32F303(6)----GPIO輸入函數(shù)說明

    本章STM32CUBEMX配置STM32F103,并且在GD32F303中進行開發(fā),同時通過GD
    的頭像 發(fā)表于 11-25 16:06 ?1565次閱讀
    <b class='flag-5'>STM32CUBEMX</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>GD32F303</b>(6)----GPIO輸入函數(shù)說明

    STM32CUBEMX開發(fā)GD32F303(8)----USART收發(fā)配置

    本章STM32CUBEMX配置STM32F103,并且在GD32F303中進行開發(fā),同時通過GD
    的頭像 發(fā)表于 11-29 10:40 ?3170次閱讀
    <b class='flag-5'>STM32CUBEMX</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>GD32F303</b>(8)----USART收發(fā)<b class='flag-5'>配置</b>

    STM32CUBEMX開發(fā)GD32F303(9)----USART通過DMA收發(fā)

    概述 本章STM32CUBEMX配置STM32F103,并且在GD32F303中進行開發(fā),同時通過GD
    的頭像 發(fā)表于 11-29 11:15 ?2101次閱讀
    <b class='flag-5'>STM32CUBEMX</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>GD32F303</b>(9)----USART通過DMA收發(fā)

    GD32F303固件庫開發(fā)14)----IIC配置OLED

    本章配置GD32F303使用IIC進行驅(qū)動SSD1306的12864OLED
    的頭像 發(fā)表于 07-26 08:55 ?3642次閱讀
    <b class='flag-5'>GD32F303</b>固件庫<b class='flag-5'>開發(fā)</b>(<b class='flag-5'>14</b>)----<b class='flag-5'>IIC</b><b class='flag-5'>之</b><b class='flag-5'>配置</b><b class='flag-5'>OLED</b>

    STM32CUBEMX開發(fā)GD32F303(1)----前期準備與燒錄

    概述 在這使用STM32CUBEMX進行配置STM32F103,移植到兆易創(chuàng)新GD32F303,然后進行測試。 芯片申請 芯片和開發(fā)板都可免
    的頭像 發(fā)表于 11-22 17:08 ?3083次閱讀
    <b class='flag-5'>STM32CUBEMX</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>GD32F303</b>(1)----前期準備與燒錄

    GD32F303固件庫開發(fā)(1)----前期準備與燒錄

    在這使用STM32CUBEMX進行配置STM32F103,移植到兆易創(chuàng)新GD32F303,然后進行測試。需要樣片的可以加Qun申請:615061293。
    的頭像 發(fā)表于 11-23 11:15 ?2720次閱讀
    <b class='flag-5'>GD32F303</b>固件庫<b class='flag-5'>開發(fā)</b>(1)----前期準備與燒錄

    STM32CUBEMX開發(fā)GD32F303(3)----點亮LED

    STM32CUBEMX創(chuàng)建STM32F103工程,同時移植在GD32F303中,同時通過J-LINK燒錄GD32303C_START和GD
    的頭像 發(fā)表于 11-23 11:43 ?2656次閱讀
    <b class='flag-5'>STM32CUBEMX</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>GD32F303</b>(3)----點亮LED

    STM32CUBEMX開發(fā)GD32F303(4)----GPIO輸出模式,速率測試、開漏和輸出說明

    STM32CUBEMX創(chuàng)建STM32F103工程,同時移植在GD32F303中,同時通過GD32303C_START開發(fā)板內(nèi)進行驗證。 需
    的頭像 發(fā)表于 11-25 11:49 ?1839次閱讀
    <b class='flag-5'>STM32CUBEMX</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>GD32F303</b>(4)----GPIO輸出模式,速率測試、開漏和輸出說明

    STM32CUBEMX開發(fā)GD32F303(10)----雙ADC輪詢模式掃描多個通道

    本章STM32CUBEMX配置STM32F103,并且在GD32F303中進行開發(fā),同時通過GD
    的頭像 發(fā)表于 11-29 17:38 ?1825次閱讀
    <b class='flag-5'>STM32CUBEMX</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>GD32F303</b>(10)----雙ADC輪詢模式掃描多個通道

    STM32CUBEMX開發(fā)GD32F303(11)----ADC在DMA模式下掃描多個通道

    本章STM32CUBEMX配置STM32F103,并且在GD32F303中進行開發(fā),同時通過GD
    的頭像 發(fā)表于 11-30 10:59 ?2339次閱讀
    <b class='flag-5'>STM32CUBEMX</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>GD32F303</b>(11)----ADC在DMA模式下掃描多個通道

    STM32CUBEMX開發(fā)GD32F303(12)----輸出PWM及修改PWM頻率與占空比

    本章STM32CUBEMX配置STM32F103,并且在GD32F303中進行開發(fā),同時通過開發(fā)
    的頭像 發(fā)表于 11-30 14:40 ?3845次閱讀
    <b class='flag-5'>STM32CUBEMX</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>GD32F303</b>(12)----輸出PWM及修改PWM頻率與占空比

    STM32CUBEMX開發(fā)GD32F303(13)----定時器TIM捕獲PWM測量頻率與占空比

    概述 本章STM32CUBEMX配置STM32F103,并且在GD32F303中進行開發(fā),同時通過開發(fā)
    的頭像 發(fā)表于 12-07 10:15 ?3520次閱讀
    <b class='flag-5'>STM32CUBEMX</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>GD32F303</b>(13)----定時器TIM捕獲PWM測量頻率與占空比

    STM32CUBEMX開發(fā)GD32F303(15)----外部中斷EXTI

    本章STM32CUBEMX配置STM32F103,并且在GD32F303中進行開發(fā),同時通過開發(fā)
    的頭像 發(fā)表于 07-26 15:53 ?1324次閱讀
    <b class='flag-5'>STM32CUBEMX</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>GD32F303</b>(15)----外部中斷EXTI

    STM32CUBEMX開發(fā)GD32F303

    在這使用STM32CUBEMX進行配置STM32F103,移植到兆易創(chuàng)新GD32F303,然后進行測試。
    的頭像 發(fā)表于 07-27 09:32 ?1584次閱讀
    <b class='flag-5'>STM32CUBEMX</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>GD32F303</b>

    STM32CUBEMX開發(fā)GD32F303(17)----內(nèi)部Flash讀寫

    本章STM32CUBEMX配置STM32F103,并且在GD32F303中進行開發(fā),同時通過開發(fā)
    的頭像 發(fā)表于 07-27 09:35 ?1799次閱讀
    <b class='flag-5'>STM32CUBEMX</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>GD32F303</b>(17)----內(nèi)部Flash讀寫
    RM新时代网站-首页