一、選型及介紹
1.選型
STM32F103C8T6是家族系列中的一員,是帶有ARM® Cortex®-M3內核的32位MCU。它是一款性價比很高的MCU,像單片機初學者或者MCU教學實驗等各方面語言,都是不錯的選擇。
2.介紹
通過在正面放大鏡查看,可以看出主控晶元上印有:
STM32F103C8T6
GD32
339B
CCC 1942
其中,STM32F103C8T6是晶元的型號;GD32是粵東南科技生產商;339B是晶元版本號;CCC 1942則是晶元生產批次號。
二、硬體及軟體環境準備
1.硬體環境準備
STM32F103C8T6最小系統的硬體組成及連接方式如下:
_________________ 紅板_____________________
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|_______________________綠板_________________|
2.軟體環境準備
(1)使用事先下載的Keil MDK軟體。
(2)使用「TeraTerm」串口調試助手,打開後設置波特率為:115200bit/s,8bit,no parity bit, 1stop bit,baudrate。
三、開發與調試
1.開發
按照最小系統原理圖接線之後,通過USB線連接開發板與PC,正常情況下,PC會提示找到新硬體。
打開Keil軟體,新建立一個工程,選擇STM32F103C8T6晶元及對應的底層文件,通過編寫代碼的方式,可以實現各種不同功能。
2.調試
在Keil軟體上完成代碼的編寫之後,可通過把代碼下載到單片機,通過串口與PC進行通信,進而進行調試。
連接好串口調試助手之後,上電,即可看到電腦端通過串口列印出一堆有意義的字元串,這意味著單片機可以正常啟動並運行指定程序。
其中,串口調試可以通過Keil軟體調試功能,或者自己利用USART進行二次開發。
四、案例分析
1.案例:LED閃爍
(1)硬體連接方式:
將LED負極連接至開發板PB2管腳,正極連接至板載5V。
(2)代碼實現:
/**
* @brief Main program
* @param None
* @retval None
*/
int main(void)
{
// 第1步:啟動系統時鐘
SystemInit();
// 第2步:初始化外設GPIO
LED_GPIO_Config();
// 第3步:得到要設置GPIO的埠及引腳
LED_Pin = GPIO_Pin_2;
LED_GPIO = GPIOB;
while (1)
{
Delay(500);
GPIO_SetBits(LED_GPIO, LED_Pin);
Delay(500);
GPIO_ResetBits(LED_GPIO, LED_Pin);
}
}
2.案例:按鍵實現LED開關
(1)硬體連接方式:
SWDIO連接PB14管腳,VCC連接板載5V,GND接GND,將按鍵負極連接至開發板GND管腳,正極連接至PB6管腳。
(2)代碼實現:
/**
* @brief Main program
* @param None
* @retval None
*/
int main(void)
{
// 第1步:啟動系統時鐘
SystemInit();
// 第2步:初始化外設GPIO
LED_GPIO_Config();
KEY_GPIO_Config();
// 第3步:得到要設置GPIO的埠及引腳
LED_Pin = GPIO_Pin_2;
LED_GPIO = GPIOB;
while (1)
{
if(KEY_UP == 0)
{
Delay(10);//按鍵防抖
if(KEY_UP == 0)
{
while(KEY_UP == 0);
LED_State = !LED_State;
if(LED_State)
GPIO_SetBits(LED_GPIO, LED_Pin);
else
GPIO_ResetBits(LED_GPIO, LED_Pin);
}
}
}
}
五、總結
本文主要介紹了STM32F103C8T6最小系統搭建及應用案例。通過對硬體及軟體環境的準備,與開發及調試的實踐,對學習者來說具有一定的參考價值。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/277107.html
微信掃一掃
支付寶掃一掃