[]()功能介紹放開(kāi)頭, 使用便捷無(wú)需愁。
這是全網(wǎng)最詳細(xì)、性價(jià)比最高的STM32實(shí)戰(zhàn)項(xiàng)目入門(mén)教程,通過(guò)合理的硬件設(shè)計(jì)和詳細(xì)的視頻筆記介紹,硬件使用STM32F103主控資料多方便學(xué)習(xí),通過(guò)3萬(wàn)字筆記、12多個(gè)小時(shí)視頻、20多章節(jié)代碼手把手教會(huì)你如何開(kāi)發(fā)和調(diào)試。讓你更快掌握嵌入式系統(tǒng)開(kāi)發(fā)。
V3.3.0-STM32智能小車(chē)
視頻:
https://www.bilibili.com/video/BV16x4y1M7EN/?spm_id_from=333.337.search-card.all.click
V3:HAL庫(kù)開(kāi)發(fā)、功能:PID速度控制、PID循跡、PID跟隨、遙控、避障、PID角度控制、視覺(jué)控制、電磁循跡、RTOS等功能。
第三章-OLED使用
3.1-資料準(zhǔn)備
我們先去下載這個(gè)OLED模塊的資料
**這里我們下載:**優(yōu)信電子--0.96寸 OLED顯示液晶屏模塊 IIC液晶屏 四引腳
淘寶鏈接:
[https://item.taobao.com/item.htm?spm=a230r.1.14.16.504611e6WA3Clv&id=562145367495&ns=1&abbucket=3#detail]
OLED資料鏈接:
0.96寸(4管腳)資料下載鏈接:
[https://pan.baidu.com/s/1J57Izsv-PKmbwVrA2ynDzg] 提取碼:vktz
找到我們要的歷程--中景園電子0.96OLED顯示屏_STM32F103C8_IIC_V1.0
3.2-相關(guān)知識(shí)
這個(gè)OLED是IIC協(xié)議,很多都是單片機(jī)模擬IIC和模塊通信的,這個(gè)也是模擬IIC控制OLED的
我們先看一下這個(gè)歷程
所謂我們移植的時(shí)候替換相關(guān)初始化內(nèi)容和GPIO置為函數(shù)就行
3.3-解決一些錯(cuò)誤
把OLED文件復(fù)制過(guò)去
添加組和包含文件
選擇添加路徑
編譯一下--找不到sys.h 刪掉sys.h **
編譯一下--把所有的u8都替換成uint8_t u32 替換成uint32_t
編譯報(bào)錯(cuò) 找不到uint8_t 包含一下#include "main.h" ** 解決
有警告 聲明加上void
下面是一些GPIO的錯(cuò)誤,我要解決初始化問(wèn)題了
3.4-開(kāi)始初始化OLED
**先看原理圖 **SDA-PB12 SCL-PA15
然后我們開(kāi)始初始兩個(gè)GPIO為輸出模式--上拉輸出模式
然后我們生成代碼,更改一下IIC協(xié)議的GPIO設(shè)置,和初始化部分
#define OLED_SCLK_Clr() HAL_GPIO_WritePin(OLED_SCL_GPIO_Port, OLED_SCL_Pin, GPIO_PIN_RESET)//設(shè)置SCL低電平
#define OLED_SCLK_Set() HAL_GPIO_WritePin(OLED_SCL_GPIO_Port, OLED_SCL_Pin, GPIO_PIN_SET)//設(shè)置SCL高電平
?
#define OLED_SDIN_Clr() HAL_GPIO_WritePin(OLED_SDA_GPIO_Port,OLED_SDA_Pin,GPIO_PIN_RESET)//設(shè)置SDA低電平
#define OLED_SDIN_Set() HAL_GPIO_WritePin(OLED_SDA_GPIO_Port,OLED_SDA_Pin,GPIO_PIN_SET)//設(shè)置SDA高電平
下面delay函數(shù)出現(xiàn)報(bào)錯(cuò) 我們替換成HAL_Delay
編譯沒(méi)有報(bào)錯(cuò)了,我們?cè)谥骱瘮?shù)添加初始化和測(cè)試代碼
OLED_Init();//初始化OLED
OLED_Clear();
OLED_ShowCHinese(0,0,0);//中
OLED_ShowCHinese(18,0,1);//景
OLED_ShowCHinese(36,0,2);//園
OLED_ShowCHinese(54,0,3);//電
OLED_ShowCHinese(72,0,4);//子
OLED_ShowCHinese(90,0,5);//科
OLED_ShowCHinese(108,0,6);//技
燒錄下載 現(xiàn)象OLED屏幕顯示-中景園電子科技
第四章-串口實(shí)驗(yàn)(簡(jiǎn)單輸出)
這里我們先初始化串口一、實(shí)現(xiàn)數(shù)據(jù)輸出。
4.1-串口編寫(xiě)
軟件初始化
然后我們實(shí)現(xiàn)串口數(shù)據(jù)輸出
方法一:
uint8_t c_Data[] = "串口輸出測(cè)試:好家伙VCCrn";
HAL_UART_Transmit(&huart1,c_Data,sizeof(c_Data),0xFFFF);
HAL_Delay(1000);
方法二:實(shí)現(xiàn)printf函數(shù)
打開(kāi)微庫(kù)
重定向fputc
/**
* @brief 重定向printf (重定向fputc),
使用時(shí)候記得勾選上魔法棒- >Target- >UseMicro LIB
可能需要在C文件加typedef struct __FILE FILE;
包含這個(gè)文件#include "stdio.h"
* @param
* @return
*/
int fputc(int ch,FILE *stream)
{
HAL_UART_Transmit(&huart1,( uint8_t *)&ch,1,0xFFFF);
return ch;
}
如果有錯(cuò)誤
在usart.c添加這個(gè)typedef struct __FILE FILE;
添加一下測(cè)試(記得包含"stdio.h")
printf("printf:好家伙VCC測(cè)試rn");
4.2-串口實(shí)驗(yàn)
接線圖
先燒錄好,再連接串口查看現(xiàn)象
連接串口 可以使用 USB轉(zhuǎn)TTL如CH340模塊 或者 用DAP的串口功能
使用USB轉(zhuǎn)TTL如CH340模塊
使用DAP
然后我們打開(kāi)串口助手,選擇串口端口和波特率,就可以看到輸出
**藍(lán)牙模塊使用 **
藍(lán)牙模式使用在后面章節(jié)講解
審核編輯 黃宇
-
OLED
+關(guān)注
關(guān)注
119文章
6200瀏覽量
224195 -
STM32
+關(guān)注
關(guān)注
2270文章
10900瀏覽量
355981 -
串口
+關(guān)注
關(guān)注
14文章
1554瀏覽量
76511 -
智能小車(chē)
+關(guān)注
關(guān)注
87文章
549瀏覽量
81740
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論