国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

STM32 F103C8T6學(xué)習(xí)筆記8:0.96寸單色OLED顯示屏顯示字符

這篇具有很好參考價(jià)值的文章主要介紹了STM32 F103C8T6學(xué)習(xí)筆記8:0.96寸單色OLED顯示屏顯示字符。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

使用STM32F103 C8T6 驅(qū)動(dòng)0.96寸單色OLED顯示屏:

OLED顯示屏的驅(qū)動(dòng),在設(shè)計(jì)開發(fā)中OLED顯示屏十分常見,因此今日學(xué)習(xí)一下。一篇文章從程序到顯示都講通。

文章提供源碼、原理解釋、測(cè)試工程下載,測(cè)試效果圖展示。

?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-658273.html

目錄

OLED驅(qū)動(dòng)原理—IIC通信:

SSD1306 單色 0.96 OLED 顯示屏特性

程序理解與設(shè)計(jì):

1.操作時(shí)序—寫命令、寫數(shù)據(jù):

二、清屏命令:

三、初始化SSD1306顯示:

四、開啟與關(guān)閉指令:

五、OLED坐標(biāo)設(shè)置:

六、常用ASCLL碼字符字庫(kù):

七、字符顯示函數(shù):

程序設(shè)計(jì):

測(cè)試效果:

測(cè)試工程下載:


OLED驅(qū)動(dòng)原理—IIC通信:

這里是基礎(chǔ)原理,可以大致瀏覽即可,有個(gè)基本印象:

下圖為 0.96寸單色OLED,他們有四個(gè)針腳:VCC GND SCK SDA?

STM32 F103C8T6學(xué)習(xí)筆記8:0.96寸單色OLED顯示屏顯示字符,STM32 F103 C8T6筆記,硬件調(diào)控與運(yùn)動(dòng)學(xué)算法,stm32,學(xué)習(xí),筆記

?前倆個(gè)就是供電的,后倆個(gè)是IIC通信接口,與單片機(jī)通信。

SSD1306 單色 0.96 OLED 顯示屏特性

  • OLED顯示屏可以從最大160度的各個(gè)角度觀看。
  • 該顯示器支持 3v 和 5v 電源,這使得它可以與 3.3V 和 5V 邏輯一起工作。
  • SSD1306驅(qū)動(dòng)程序及其庫(kù)使OLED可以通過(guò)簡(jiǎn)單的命令顯示字符和位圖。
  • 不同顏色的 OLED 也可供選擇,甚至不同尺寸也可供選擇。
  • 與 LCD 相比,OLED 顯示屏尺寸更小,顯示效果更好

0.96 寸OLED顯示屏所用的驅(qū)動(dòng)IC為SSD1306;

其具有內(nèi)部升壓功能;所以在設(shè)計(jì)的時(shí)候不需要再專一設(shè)計(jì)升壓電路;

當(dāng)然了本屏也可以選用外部升壓。

SSD1306的每頁(yè)包含了128個(gè)字節(jié),總共8頁(yè),這樣剛好是 128*64 的點(diǎn)陣大小。

STM32 F103C8T6學(xué)習(xí)筆記8:0.96寸單色OLED顯示屏顯示字符,STM32 F103 C8T6筆記,硬件調(diào)控與運(yùn)動(dòng)學(xué)算法,stm32,學(xué)習(xí),筆記

由上圖可知,0.96寸OLED有八頁(yè),128列,每一頁(yè)又有8小行:

對(duì)于一個(gè)0.96寸OLED,有8頁(yè)(也可以稱為8個(gè)水平掃描線)和128列。通過(guò)8頁(yè)和128列,可以操作所有64x128個(gè)像素點(diǎn)。

第一步是控制頁(yè)數(shù):

OLED屏幕的每一頁(yè)都是由一組水平掃描線構(gòu)成的,每次只能顯示一頁(yè)。通過(guò)控制頁(yè)數(shù)的切換,我們可以在屏幕上顯示不同的內(nèi)容??偣灿?頁(yè),可以通過(guò)指令來(lái)切換到目標(biāo)頁(yè)。

第二步是控制列數(shù):

在每一頁(yè)上,OLED屏幕有128列。列數(shù)確定了水平方向的像素點(diǎn)位置。我們可以通過(guò)指令來(lái)選擇在特定頁(yè)上的目標(biāo)列。

這樣,我們可以通過(guò)控制頁(yè)數(shù)和列數(shù)的組合來(lái)操作到所有64x128個(gè)像素點(diǎn)??梢愿鶕?jù)需要在特定的頁(yè)和列上顯示圖形、文字或其他內(nèi)容。

?

程序理解與設(shè)計(jì):

?

1.操作時(shí)序—寫命令、寫數(shù)據(jù):

STM32 F103C8T6學(xué)習(xí)筆記8:0.96寸單色OLED顯示屏顯示字符,STM32 F103 C8T6筆記,硬件調(diào)控與運(yùn)動(dòng)學(xué)算法,stm32,學(xué)習(xí),筆記

由上圖可知,在通過(guò)IIC嘗試控制OLED時(shí),有倆個(gè)主要的操作:1.寫數(shù)據(jù)0x40 ? 2.寫命令0x00

?因此寫指令與寫數(shù)據(jù)的操作過(guò)程完全一致,只是寫入指令與數(shù)據(jù)的寄存器不同,一個(gè)是0x00,一個(gè)是0x40,選擇好了寫入的寄存器是指令還是數(shù)據(jù)后,就能傳遞我們具體的指令或者數(shù)據(jù)了:

/**********************************************
// 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();
}
/**********************************************
// 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();
}

二、清屏命令:

接下來(lái)講解一下清屏命令,從這個(gè)命令我們可以初步明白一下:寫命令與寫數(shù)據(jù)具體代表什么,以及8頁(yè),128列,究竟是怎么操作的:

首先是整了一個(gè)寫入函數(shù),這個(gè)函數(shù)沒有別的意思,就是整合了Write_IIC_Command()與Write_IIC_Data(),起到了有命令寫命令,有數(shù)據(jù)寫數(shù)據(jù)的效果,主要是方便后續(xù)程序編寫,不管寫數(shù)據(jù)還是命令,直接調(diào)用它就行了。

它有倆個(gè)參數(shù):第一個(gè)參數(shù)dat是數(shù)據(jù),第二個(gè)參數(shù)cmd就是選擇這個(gè)dat數(shù)據(jù)是寫入命令寄存器的還是寫入數(shù)據(jù)寄存器的。

期間還寫了倆個(gè)宏定義,用來(lái)提醒自己,這里的步驟是寫命令寄存器的還是寫數(shù)據(jù)寄存器的:

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


void OLED_WR_Byte(unsigned dat,unsigned cmd)
{
	if(cmd)
		{ Write_IIC_Data(dat);}
	else 
        { Write_IIC_Command(dat);}
}
//清屏函數(shù),清完屏,整個(gè)屏幕是黑色的!和沒點(diǎn)亮一樣!!!	  
void OLED_Clear(void)  
{  
	u8 i,n;		    
	for(i=0;i<8;i++)  
	{  
		OLED_WR_Byte (0xb0+i,OLED_CMD);    //設(shè)置頁(yè)地址(0~7)
		OLED_WR_Byte (0x00,OLED_CMD);      //設(shè)置顯示位置—列低地址
		OLED_WR_Byte (0x10,OLED_CMD);      //設(shè)置顯示位置—列高地址   
		for(n=0;n<128;n++)OLED_WR_Byte(0,OLED_DATA); 
	} //更新顯示
}

我們可以看到,整個(gè)函數(shù)一進(jìn)入就是進(jìn)行一個(gè)8次的循環(huán),每次循環(huán)進(jìn)入:

首先就會(huì)先選擇哪一頁(yè)需要清空,而OLED共有八頁(yè),因此需要循環(huán)八次來(lái)選擇0~7這八個(gè)頁(yè)號(hào)~

其次選擇哪一列需要清空,因?yàn)檫@是個(gè)屏幕,我們使用平面直角坐標(biāo)系里確定一個(gè)點(diǎn)來(lái)理解,如果OLED是橫向顯示的,前面的頁(yè)就好比確定了Y坐標(biāo),這里的列就是確定了X坐標(biāo),這樣,先確定了Y,再內(nèi)套一個(gè)循環(huán)128次,依次選擇一列上的X進(jìn)行清空。

綜上:這個(gè)函數(shù)總共是8*128個(gè)循環(huán)操作,才使得OLED全部清空~~~

三、初始化SSD1306顯示:

這部分初始化分為單片機(jī)IIC引腳的初始化、以及對(duì)SSD1306寫入一些必要命令的初始化

在 單片機(jī)IIC引腳的初始化 方面不多說(shuō),而對(duì)SSD1306寫入一些必要命令方面,我們可以通過(guò)我的注釋看出,有對(duì)比度、反顯等可以設(shè)置,具體寫入什么進(jìn)行設(shè)置可以百度,我這配的都是正常的通用設(shè)置:這種寫命令,一般都是先寫寄存器,在寫數(shù)據(jù)設(shè)置:

//初始化SSD1306					    
void OLED_Init(void)
{ 	
 	GPIO_InitTypeDef  GPIO_InitStructure;                  //定義初始化結(jié)構(gòu)體
	
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);	 //使能APB2端口時(shí)鐘
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6|GPIO_Pin_7;	 //初始化B6,B7
 	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; 		   //推挽輸出
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;      //速度50MHz
 	GPIO_Init(GPIOB, &GPIO_InitStructure);	               //初始化GPIOB
 	GPIO_SetBits(GPIOB,GPIO_Pin_6|GPIO_Pin_7);							

  delay_ms(100);                               
	
  OLED_WR_Byte(0xAE,OLED_CMD);//--display off                    關(guān)閉顯示屏
	
	OLED_WR_Byte(0x00,OLED_CMD);//---set low column address        設(shè)置低列地址 
	OLED_WR_Byte(0x10,OLED_CMD);//---set high column address       設(shè)置高列地址
	
	OLED_WR_Byte(0x40,OLED_CMD);//--set start line address         設(shè)置起始行地址
	OLED_WR_Byte(0xB0,OLED_CMD);//--set page address               設(shè)置頁(yè)地址
	
	OLED_WR_Byte(0x81,OLED_CMD); // contract control               設(shè)置對(duì)比度控制
	OLED_WR_Byte(0xFF,OLED_CMD);//--128                            對(duì)比度值設(shè)置為128
	
	OLED_WR_Byte(0xA1,OLED_CMD);//set segment remap                設(shè)置段重映射
	OLED_WR_Byte(0xA6,OLED_CMD);//--normal / reverse               設(shè)置正常顯示/反向顯示
	OLED_WR_Byte(0xA8,OLED_CMD);//--set multiplex ratio(1 to 64)   設(shè)置多路復(fù)用比率(1到64)
	OLED_WR_Byte(0x3F,OLED_CMD);//--1/32 duty                      設(shè)置Duty值為1/32
	OLED_WR_Byte(0xC8,OLED_CMD);//Com scan direction               設(shè)置COM掃描方向
	
	OLED_WR_Byte(0xD3,OLED_CMD);//-set display offset              設(shè)置顯示偏移
	OLED_WR_Byte(0x00,OLED_CMD);//                                 設(shè)置顯示起始行
	
	OLED_WR_Byte(0xD5,OLED_CMD);//set osc division                 設(shè)置振蕩器分頻
	OLED_WR_Byte(0x80,OLED_CMD);//                                 設(shè)置振蕩器分頻值為80
	
	OLED_WR_Byte(0xD8,OLED_CMD);//set area color mode off          設(shè)置區(qū)域顏色模式關(guān)閉
	OLED_WR_Byte(0x05,OLED_CMD);//                                 設(shè)置區(qū)域顏色模式值為05
	
	OLED_WR_Byte(0xD9,OLED_CMD);//Set Pre-Charge Period            設(shè)置預(yù)充電周期
	OLED_WR_Byte(0xF1,OLED_CMD);//                                 設(shè)置預(yù)充電周期值為F1
	
	OLED_WR_Byte(0xDA,OLED_CMD);//set com pin configuartion        設(shè)置COM引腳配置
	OLED_WR_Byte(0x12,OLED_CMD);//                                 設(shè)置COM引腳配置值為12
	
	OLED_WR_Byte(0xDB,OLED_CMD);//set Vcomh                        設(shè)置Vcomh
	OLED_WR_Byte(0x30,OLED_CMD);//                                 設(shè)置Vcomh值為30
	
	OLED_WR_Byte(0x8D,OLED_CMD);//set charge pump enable           設(shè)置充電泵使能
	OLED_WR_Byte(0x14,OLED_CMD);//                                 設(shè)置充電泵使能值為14
	
	OLED_WR_Byte(0xAF,OLED_CMD);//--turn on oled panel             打開顯示屏
} 

四、開啟與關(guān)閉指令:

這是OLED開啟與關(guān)閉的函數(shù),主要原理也是向它的寄存器寫數(shù)據(jù)命令,可以快捷開啟關(guān)閉OLED,一般程序初始化時(shí)會(huì)關(guān)閉OLED,防止亂顯示,初始化完成后打開即可:

有時(shí)開機(jī)刷新比較慢,像素可能會(huì)一行一行刷出來(lái),這時(shí)可以先調(diào)用 OLED_Display_Off(),在緊接著調(diào)用刷新顯示的函數(shù),然后在調(diào)用OLED_Display_On(),像素就不會(huì)一行一行刷出來(lái)了~~原理就是等他刷新顯示的函數(shù)循環(huán)加載完成了,再整個(gè)打開OLED:

//開啟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
}
//關(guān)閉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
}		

五、OLED坐標(biāo)設(shè)置:

這是設(shè)置OLED顯示繪制起點(diǎn)的函數(shù),每種文字,圖像都有占用的范圍,比如宋體漢字,每個(gè)字一般占用16*16像素,而字母可以占用更少的像素區(qū)域~~:

//坐標(biāo)設(shè)置
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); 
} 

?如圖可以更直觀理解一個(gè)中文字是怎么點(diǎn)亮的,小框代表一個(gè)中文字需要占用的像素區(qū),大框就是OLED全部顯示區(qū),Y坐標(biāo)代表頁(yè),X坐標(biāo)代表列。

STM32 F103C8T6學(xué)習(xí)筆記8:0.96寸單色OLED顯示屏顯示字符,STM32 F103 C8T6筆記,硬件調(diào)控與運(yùn)動(dòng)學(xué)算法,stm32,學(xué)習(xí),筆記

?

?

六、常用ASCLL碼字符字庫(kù):

?這是常用ASCLL碼字符字庫(kù),分倆種大小:12*6以及16*8的字母:這個(gè)直接復(fù)制使用即可:

//常用ASCII表
//偏移量32
//ASCII字符集
//偏移量32
//大小:12*6
/************************************6*8的點(diǎn)陣************************************/
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的點(diǎn)陣************************************/
const unsigned char F8X16[]=	  
{
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,// 0
  0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x30,0x00,0x00,0x00,//! 1
  0x00,0x10,0x0C,0x06,0x10,0x0C,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//" 2
  0x40,0xC0,0x78,0x40,0xC0,0x78,0x40,0x00,0x04,0x3F,0x04,0x04,0x3F,0x04,0x04,0x00,//# 3
  0x00,0x70,0x88,0xFC,0x08,0x30,0x00,0x00,0x00,0x18,0x20,0xFF,0x21,0x1E,0x00,0x00,//$ 4
  0xF0,0x08,0xF0,0x00,0xE0,0x18,0x00,0x00,0x00,0x21,0x1C,0x03,0x1E,0x21,0x1E,0x00,//% 5
  0x00,0xF0,0x08,0x88,0x70,0x00,0x00,0x00,0x1E,0x21,0x23,0x24,0x19,0x27,0x21,0x10,//& 6
  0x10,0x16,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//' 7
  0x00,0x00,0x00,0xE0,0x18,0x04,0x02,0x00,0x00,0x00,0x00,0x07,0x18,0x20,0x40,0x00,//( 8
  0x00,0x02,0x04,0x18,0xE0,0x00,0x00,0x00,0x00,0x40,0x20,0x18,0x07,0x00,0x00,0x00,//) 9
  0x40,0x40,0x80,0xF0,0x80,0x40,0x40,0x00,0x02,0x02,0x01,0x0F,0x01,0x02,0x02,0x00,//* 10
  0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x1F,0x01,0x01,0x01,0x00,//+ 11
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xB0,0x70,0x00,0x00,0x00,0x00,0x00,//, 12
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,//- 13
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00,//. 14
  0x00,0x00,0x00,0x00,0x80,0x60,0x18,0x04,0x00,0x60,0x18,0x06,0x01,0x00,0x00,0x00,/// 15
  0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00,//0 16
  0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//1 17
  0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00,//2 18
  0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00,//3 19
  0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00,//4 20
  0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00,//5 21
  0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00,//6 22
  0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,//7 23
  0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00,//8 24
  0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00,//9 25
  0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,//: 26
  0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x60,0x00,0x00,0x00,0x00,//; 27
  0x00,0x00,0x80,0x40,0x20,0x10,0x08,0x00,0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x00,//< 28
  0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x00,//= 29
  0x00,0x08,0x10,0x20,0x40,0x80,0x00,0x00,0x00,0x20,0x10,0x08,0x04,0x02,0x01,0x00,//> 30
  0x00,0x70,0x48,0x08,0x08,0x08,0xF0,0x00,0x00,0x00,0x00,0x30,0x36,0x01,0x00,0x00,//? 31
  0xC0,0x30,0xC8,0x28,0xE8,0x10,0xE0,0x00,0x07,0x18,0x27,0x24,0x23,0x14,0x0B,0x00,//@ 32
  0x00,0x00,0xC0,0x38,0xE0,0x00,0x00,0x00,0x20,0x3C,0x23,0x02,0x02,0x27,0x38,0x20,//A 33
  0x08,0xF8,0x88,0x88,0x88,0x70,0x00,0x00,0x20,0x3F,0x20,0x20,0x20,0x11,0x0E,0x00,//B 34
  0xC0,0x30,0x08,0x08,0x08,0x08,0x38,0x00,0x07,0x18,0x20,0x20,0x20,0x10,0x08,0x00,//C 35
  0x08,0xF8,0x08,0x08,0x08,0x10,0xE0,0x00,0x20,0x3F,0x20,0x20,0x20,0x10,0x0F,0x00,//D 36
  0x08,0xF8,0x88,0x88,0xE8,0x08,0x10,0x00,0x20,0x3F,0x20,0x20,0x23,0x20,0x18,0x00,//E 37
  0x08,0xF8,0x88,0x88,0xE8,0x08,0x10,0x00,0x20,0x3F,0x20,0x00,0x03,0x00,0x00,0x00,//F 38
  0xC0,0x30,0x08,0x08,0x08,0x38,0x00,0x00,0x07,0x18,0x20,0x20,0x22,0x1E,0x02,0x00,//G 39
  0x08,0xF8,0x08,0x00,0x00,0x08,0xF8,0x08,0x20,0x3F,0x21,0x01,0x01,0x21,0x3F,0x20,//H 40
  0x00,0x08,0x08,0xF8,0x08,0x08,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//I 41
  0x00,0x00,0x08,0x08,0xF8,0x08,0x08,0x00,0xC0,0x80,0x80,0x80,0x7F,0x00,0x00,0x00,//J 42
  0x08,0xF8,0x88,0xC0,0x28,0x18,0x08,0x00,0x20,0x3F,0x20,0x01,0x26,0x38,0x20,0x00,//K 43
  0x08,0xF8,0x08,0x00,0x00,0x00,0x00,0x00,0x20,0x3F,0x20,0x20,0x20,0x20,0x30,0x00,//L 44
  0x08,0xF8,0xF8,0x00,0xF8,0xF8,0x08,0x00,0x20,0x3F,0x00,0x3F,0x00,0x3F,0x20,0x00,//M 45
  0x08,0xF8,0x30,0xC0,0x00,0x08,0xF8,0x08,0x20,0x3F,0x20,0x00,0x07,0x18,0x3F,0x00,//N 46
  0xE0,0x10,0x08,0x08,0x08,0x10,0xE0,0x00,0x0F,0x10,0x20,0x20,0x20,0x10,0x0F,0x00,//O 47
  0x08,0xF8,0x08,0x08,0x08,0x08,0xF0,0x00,0x20,0x3F,0x21,0x01,0x01,0x01,0x00,0x00,//P 48
  0xE0,0x10,0x08,0x08,0x08,0x10,0xE0,0x00,0x0F,0x18,0x24,0x24,0x38,0x50,0x4F,0x00,//Q 49
  0x08,0xF8,0x88,0x88,0x88,0x88,0x70,0x00,0x20,0x3F,0x20,0x00,0x03,0x0C,0x30,0x20,//R 50
  0x00,0x70,0x88,0x08,0x08,0x08,0x38,0x00,0x00,0x38,0x20,0x21,0x21,0x22,0x1C,0x00,//S 51
  0x18,0x08,0x08,0xF8,0x08,0x08,0x18,0x00,0x00,0x00,0x20,0x3F,0x20,0x00,0x00,0x00,//T 52
  0x08,0xF8,0x08,0x00,0x00,0x08,0xF8,0x08,0x00,0x1F,0x20,0x20,0x20,0x20,0x1F,0x00,//U 53
  0x08,0x78,0x88,0x00,0x00,0xC8,0x38,0x08,0x00,0x00,0x07,0x38,0x0E,0x01,0x00,0x00,//V 54
  0xF8,0x08,0x00,0xF8,0x00,0x08,0xF8,0x00,0x03,0x3C,0x07,0x00,0x07,0x3C,0x03,0x00,//W 55
  0x08,0x18,0x68,0x80,0x80,0x68,0x18,0x08,0x20,0x30,0x2C,0x03,0x03,0x2C,0x30,0x20,//X 56
  0x08,0x38,0xC8,0x00,0xC8,0x38,0x08,0x00,0x00,0x00,0x20,0x3F,0x20,0x00,0x00,0x00,//Y 57
  0x10,0x08,0x08,0x08,0xC8,0x38,0x08,0x00,0x20,0x38,0x26,0x21,0x20,0x20,0x18,0x00,//Z 58
  0x00,0x00,0x00,0xFE,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x7F,0x40,0x40,0x40,0x00,//[ 59
  0x00,0x0C,0x30,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x06,0x38,0xC0,0x00,//\ 60
  0x00,0x02,0x02,0x02,0xFE,0x00,0x00,0x00,0x00,0x40,0x40,0x40,0x7F,0x00,0x00,0x00,//] 61
  0x00,0x00,0x04,0x02,0x02,0x02,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//^ 62
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,//_ 63
  0x00,0x02,0x02,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//` 64
  0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x19,0x24,0x22,0x22,0x22,0x3F,0x20,//a 65
  0x08,0xF8,0x00,0x80,0x80,0x00,0x00,0x00,0x00,0x3F,0x11,0x20,0x20,0x11,0x0E,0x00,//b 66
  0x00,0x00,0x00,0x80,0x80,0x80,0x00,0x00,0x00,0x0E,0x11,0x20,0x20,0x20,0x11,0x00,//c 67
  0x00,0x00,0x00,0x80,0x80,0x88,0xF8,0x00,0x00,0x0E,0x11,0x20,0x20,0x10,0x3F,0x20,//d 68
  0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x1F,0x22,0x22,0x22,0x22,0x13,0x00,//e 69
  0x00,0x80,0x80,0xF0,0x88,0x88,0x88,0x18,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//f 70
  0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x6B,0x94,0x94,0x94,0x93,0x60,0x00,//g 71
  0x08,0xF8,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x3F,0x21,0x00,0x00,0x20,0x3F,0x20,//h 72
  0x00,0x80,0x98,0x98,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//i 73
  0x00,0x00,0x00,0x80,0x98,0x98,0x00,0x00,0x00,0xC0,0x80,0x80,0x80,0x7F,0x00,0x00,//j 74
  0x08,0xF8,0x00,0x00,0x80,0x80,0x80,0x00,0x20,0x3F,0x24,0x02,0x2D,0x30,0x20,0x00,//k 75
  0x00,0x08,0x08,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//l 76
  0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x20,0x3F,0x20,0x00,0x3F,0x20,0x00,0x3F,//m 77
  0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x3F,0x21,0x00,0x00,0x20,0x3F,0x20,//n 78
  0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x1F,0x20,0x20,0x20,0x20,0x1F,0x00,//o 79
  0x80,0x80,0x00,0x80,0x80,0x00,0x00,0x00,0x80,0xFF,0xA1,0x20,0x20,0x11,0x0E,0x00,//p 80
  0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x0E,0x11,0x20,0x20,0xA0,0xFF,0x80,//q 81
  0x80,0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x20,0x20,0x3F,0x21,0x20,0x00,0x01,0x00,//r 82
  0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x33,0x24,0x24,0x24,0x24,0x19,0x00,//s 83
  0x00,0x80,0x80,0xE0,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x1F,0x20,0x20,0x00,0x00,//t 84
  0x80,0x80,0x00,0x00,0x00,0x80,0x80,0x00,0x00,0x1F,0x20,0x20,0x20,0x10,0x3F,0x20,//u 85
  0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x00,0x01,0x0E,0x30,0x08,0x06,0x01,0x00,//v 86
  0x80,0x80,0x00,0x80,0x00,0x80,0x80,0x80,0x0F,0x30,0x0C,0x03,0x0C,0x30,0x0F,0x00,//w 87
  0x00,0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x31,0x2E,0x0E,0x31,0x20,0x00,//x 88
  0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x80,0x81,0x8E,0x70,0x18,0x06,0x01,0x00,//y 89
  0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x21,0x30,0x2C,0x22,0x21,0x30,0x00,//z 90
  0x00,0x00,0x00,0x00,0x80,0x7C,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x3F,0x40,0x40,//{ 91
  0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,//| 92
  0x00,0x02,0x02,0x7C,0x80,0x00,0x00,0x00,0x00,0x40,0x40,0x3F,0x00,0x00,0x00,0x00,//} 93
  0x00,0x06,0x01,0x01,0x02,0x02,0x04,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//~ 94
};

七、字符顯示函數(shù):

?這是在指定位置顯示一個(gè)字符的函數(shù),X,Y是它的起始區(qū)域,chr就是該字符的ASCLL碼,Size是選擇它的顯示占用像素點(diǎn),16*8還是12*6(本質(zhì)上是引用六中的常用字庫(kù));

//在指定位置顯示一個(gè)字符,包括部分字符
//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);
				
			}
}

程序設(shè)計(jì):

在坐標(biāo)(0,0)處打印一個(gè)大寫的A(16*8像素),

在坐標(biāo)(12,0)處打印一個(gè)小寫的b(12*6像素),

并全屏閃爍(每0.5秒)。

?

主函數(shù)代碼:

之前 其余函數(shù)代碼都一個(gè)個(gè)講了,因此這里只貼出主函數(shù)代碼:

#include "main.h"

int main(void)
{	
	init_ALL();     //初始化所有函數(shù)
  while(1)
	{
		OLED_ShowChar(0,0,'A',16);
		OLED_ShowChar(12,0,'b',12);		
		
		OLED_Display_On();
		delay_ms(500);
		
		OLED_Display_Off();
  	delay_ms(500);
	}
}


//初始化所有函數(shù):
void init_ALL(void)
{
	SysTick_Init(72);         //初始化滴答計(jì)時(shí)器
//	Timer2_Init();						//初始化定時(shí)器2
	i2c_GPIO_Config();	      //IIC初始化	
	OLED_Init();              //初始化OLED屏幕
	OLED_Clear();             //清空屏幕數(shù)據(jù)
}

測(cè)試效果:

STM32 F103C8T6學(xué)習(xí)筆記8:0.96寸單色OLED顯示屏顯示字符,STM32 F103 C8T6筆記,硬件調(diào)控與運(yùn)動(dòng)學(xué)算法,stm32,學(xué)習(xí),筆記

?

?

測(cè)試工程下載:

https://download.csdn.net/download/qq_64257614/88232233?spm=1001.2014.3001.5503

?

到了這里,關(guān)于STM32 F103C8T6學(xué)習(xí)筆記8:0.96寸單色OLED顯示屏顯示字符的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • STM32 F103C8T6學(xué)習(xí)筆記4:時(shí)鐘樹、滴答計(jì)時(shí)器、定時(shí)器定時(shí)中斷

    STM32 F103C8T6學(xué)習(xí)筆記4:時(shí)鐘樹、滴答計(jì)時(shí)器、定時(shí)器定時(shí)中斷

    今日理解一下STM32F103 C8T6的時(shí)鐘與時(shí)鐘系統(tǒng)、滴答計(jì)時(shí)器、定時(shí)器計(jì)時(shí)中斷的配置,文章提供原理,代碼,測(cè)試工程下載。 目錄 時(shí)鐘樹與時(shí)鐘系統(tǒng): 滴答計(jì)時(shí)器: 定時(shí)器計(jì)時(shí)中斷: 測(cè)試結(jié)果: 測(cè)試工程下載: 該系統(tǒng)介紹在 STM32F10x-中文參考手冊(cè) P56頁(yè)開始 微控制器的時(shí)鐘系

    2024年02月13日
    瀏覽(32)
  • STM32 F103C8T6學(xué)習(xí)筆記8:0.96寸單色OLED顯示屏顯示字符

    STM32 F103C8T6學(xué)習(xí)筆記8:0.96寸單色OLED顯示屏顯示字符

    使用STM32F103 C8T6 驅(qū)動(dòng)0.96寸單色OLED顯示屏: OLED顯示屏的驅(qū)動(dòng),在設(shè)計(jì)開發(fā)中OLED顯示屏十分常見,因此今日學(xué)習(xí)一下。一篇文章從程序到顯示都講通。 文章提供源碼、原理解釋、測(cè)試工程下載,測(cè)試效果圖展示。 ? 目錄 OLED驅(qū)動(dòng)原理—IIC通信: SSD1306 單色 0.96 OLED 顯示屏特性

    2024年02月12日
    瀏覽(23)
  • STM32 F103C8T6學(xué)習(xí)筆記13:IIC通信—AHT10溫濕度傳感器模塊

    STM32 F103C8T6學(xué)習(xí)筆記13:IIC通信—AHT10溫濕度傳感器模塊

    今日學(xué)習(xí)一下這款A(yù)HT10 溫濕度傳感器模塊,給我的OLED手環(huán)添加上測(cè)溫濕度的功能。 文章提供源碼、測(cè)試工程下載、測(cè)試效果圖。 目錄 AHT10溫濕度傳感器: 特性: 連接方式: 適用場(chǎng)所范圍: 程序設(shè)計(jì): 設(shè)計(jì)目標(biāo): ?程序設(shè)計(jì)注意點(diǎn): AHT10代碼: ?主函數(shù)代碼: 測(cè)試效果:

    2024年02月11日
    瀏覽(26)
  • STM32 F103C8T6學(xué)習(xí)筆記2:GPIO的認(rèn)識(shí)—GPIO的基本輸入輸出—點(diǎn)亮一個(gè)LED

    STM32 F103C8T6學(xué)習(xí)筆記2:GPIO的認(rèn)識(shí)—GPIO的基本輸入輸出—點(diǎn)亮一個(gè)LED

    今日繼續(xù)學(xué)習(xí)使用? STM32 F103C8T6開發(fā)板 點(diǎn)亮一個(gè)LED燈,文章提供源碼,測(cè)試工程,實(shí)驗(yàn)效果圖,希望我的歸納總結(jié)會(huì)對(duì)大家有幫助~ 目錄 GPIO的認(rèn)識(shí)與分類 : 引腳安排整理: 定時(shí)器的引腳例舉: 串口的引腳例舉: ?CAN串口通信: SPI通信: IIC通信: ?其余引腳: 燒錄引腳:

    2024年02月11日
    瀏覽(19)
  • STM32 F103C8T6學(xué)習(xí)筆記5:定時(shí)器輸出不同占空比PWM驅(qū)動(dòng)舵機(jī)旋轉(zhuǎn)角度

    現(xiàn)在學(xué)習(xí)使用STM32 F103C8T6的定時(shí)器PWM模式,使用PWM驅(qū)動(dòng)舵機(jī)轉(zhuǎn)動(dòng)不同角度,文章提供源碼,測(cè)試工程,測(cè)試動(dòng)態(tài)效果圖。 目錄 基礎(chǔ)原理: ?實(shí)驗(yàn)?zāi)繕?biāo): 測(cè)試視頻結(jié)果: 測(cè)試工程下載: 這次依舊拿出之前學(xué)習(xí)過(guò)的舵機(jī)DS3115,它的基礎(chǔ)原理不多加介紹,在往期講MSP432的文章有所

    2024年02月13日
    瀏覽(25)
  • STM32 HAL庫(kù) CubeMX配置 定時(shí)器學(xué)習(xí) F103C8T6

    STM32 HAL庫(kù) CubeMX配置 定時(shí)器學(xué)習(xí) F103C8T6

    開發(fā)板: STM32F103C8T6最小系統(tǒng)板 編譯環(huán)境: Keil5 MDK 輔助軟件: STM32 CubeMX 課程教學(xué): 基于正點(diǎn)原子HAL庫(kù)學(xué)習(xí)教程 其余配件: 江科大STM32配件包?和 示波器一臺(tái) 備注: ?因?yàn)檫@塊開發(fā)板沒有基本定時(shí)器,所以本文也 沒有基本定時(shí)器的內(nèi)容 ????????????本文1.3和2.1部分的

    2024年04月26日
    瀏覽(21)
  • STM32 F103C8T6學(xué)習(xí)筆記10:OLED顯示屏GIF動(dòng)圖取?!?jiǎn)易時(shí)鐘—?jiǎng)訄D手表的制作~

    STM32 F103C8T6學(xué)習(xí)筆記10:OLED顯示屏GIF動(dòng)圖取?!?jiǎn)易時(shí)鐘—?jiǎng)訄D手表的制作~

    今日嘗試做一款有動(dòng)圖的OLED實(shí)時(shí)時(shí)鐘,本文需要現(xiàn)學(xué)一個(gè)OLED的GIF動(dòng)圖取模 其余需要的知識(shí)點(diǎn)有不會(huì)的可以去我? STM32 F103C8T6學(xué)習(xí)筆記? 系列專欄自己查閱把,閑話不多,直接開肝~~~ 文章提供源碼,測(cè)試工程下載,測(cè)試效果圖。 做個(gè)簡(jiǎn)易的時(shí)鐘,就不把RTC實(shí)時(shí)時(shí)鐘放進(jìn)來(lái)學(xué)了

    2024年02月12日
    瀏覽(41)
  • STM32 F103C8T6學(xué)習(xí)筆記6:IIC通信_(tái)_驅(qū)動(dòng)MPU6050 6軸運(yùn)動(dòng)處理組件—一階互補(bǔ)濾波

    STM32 F103C8T6學(xué)習(xí)筆記6:IIC通信_(tái)_驅(qū)動(dòng)MPU6050 6軸運(yùn)動(dòng)處理組件—一階互補(bǔ)濾波

    今日主要學(xué)習(xí)一款傾角傳感器——MPU6050,往后對(duì)單片機(jī)原理基礎(chǔ)講的會(huì)比較少,更傾向于簡(jiǎn)單粗暴地貼代碼,因?yàn)榻?jīng)過(guò)前些日子對(duì)MSP432的學(xué)習(xí),對(duì)原理方面也有些熟絡(luò)了,除了在新接觸它時(shí)會(huì)對(duì)其引腳、時(shí)鐘、總線等進(jìn)行仔細(xì)一些的研究之外,其余驅(qū)動(dòng)方面便是照搬經(jīng)驗(yàn)了~

    2024年02月13日
    瀏覽(24)
  • STM32 F103C8T6學(xué)習(xí)筆記9:0.96寸單色OLED顯示屏—自由取模顯示—顯示漢字與圖片

    STM32 F103C8T6學(xué)習(xí)筆記9:0.96寸單色OLED顯示屏—自由取模顯示—顯示漢字與圖片

    今日學(xué)習(xí)0.96寸單色OLED顯示屏的自由取模顯示: 宋體漢字比較復(fù)雜,常用字符可以直接復(fù)制存下來(lái),畢竟只有那么幾十個(gè)字母字符,但漢字實(shí)在太多了,基本不會(huì)全部放在單片機(jī)里存著,一般用到多少個(gè)字就取幾個(gè)字的模,因此漢字放在這里與自由取模一起講。 文章提供源碼

    2024年02月11日
    瀏覽(25)
  • STM32系列(HAL庫(kù))——F103C8T6獲取DHT11溫濕度串口打印

    STM32系列(HAL庫(kù))——F103C8T6獲取DHT11溫濕度串口打印

    在此特別鳴謝原文博主! (1)編程平臺(tái):Keil5 (2)CubeMX (3)XCOM(串口調(diào)試助手) (1)F1的板子,本例使用經(jīng)典F103C8T6 ?(2)DHT11——溫濕度傳感器 (3)ST-link?下載器 (4)USB-TTL模塊 (5)杜邦線若干 (1)芯片選擇 STM32F103C8T6 ?(2)配置RCC、SYS、時(shí)鐘樹 配置RCC 配置SYS 配置時(shí)鐘樹 (3) 配置GPIO ?(4)配置

    2023年04月08日
    瀏覽(17)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包