STM32是現在使用比較多的一款處理器,大家可以着手研究研究,功能和51單片機不可同日而語。
閒來沒事,也喜歡研究研究這個功能比較強大的單片機。
環境的搭建及安裝,其實很簡單,不需要多說,網上的資源很多。我也會上傳MDK5和一些單片機F1系列和F4系列的型號等。
下載鏈接:
鏈接:https://pan.baidu.com/s/1RYSVAJkknHLJeWsyfe6xKQ
提取碼:82jp
複製這段內容後打開百度網盤手機App,操作更方便哦
新建工程,步驟:
注意,我們這裏新建的工程,不涉及固件庫,只是簡單的工程創建,這個適合剛學習STM32,對工程的熟悉,後面會有比較合理的項目工程創建(後面再講)。
1.新建文件夾
注意,文件夾命名不要有中文字符,字符儘量只包含(字母、下劃線、或數字)
2.打開keil5
3.新建工程
4.選擇剛上新建的文件夾,然後新建工程名稱
5.選擇自己的單片機芯片
我們這裏的STM32芯片是STM32F103 VE,所以選擇的芯片型號爲:
點擊OK
6.選擇驅動和核
點擊OK
7.新建文件,main.c
8.將main.c文件添加到工程中來
到這裏工程就已經建好了,可以在main.c文件中寫一個讓LED燈閃爍的代碼了。
這裏使用的是寄存器完成相應的工程。
大家可以網上下載STM32相關中文手冊(文檔)研讀一下,剛開始還是比較容易的。
程序下載,我這裏使用的J-Link V8 下載器完成代碼下載。
代碼如下:
/*
創建人:wantin
創建時間:2019.9.20
功能:一個LED燈閃爍
接線:
PC0與LED1相接
實現的步驟:
1.開啓式GPIOC口的時鐘
2.設置PC0口的工作模式
3.數據的輸出
*/
#include "stm32f10x.h" // Device header
void delay(void); // 函數聲明
int main(void)
{
RCC->APB2ENR |= 0X00000010; // 開啓GPIOC口的時鐘
GPIOC->CRL |= 0X00000003; // 設置PC0口推輓輸出模式,速度50MHz
GPIOC->ODR = 0X00000001; // LED置滅
while(1)
{
GPIOC->ODR = 0X00000001; // 滅
delay(); // 延時函數調用
GPIOC->ODR = 0X00000000; // 亮
delay();
}
}
/* 延時函數 */
void delay(void)
{
int i,j; // 循環變量
for(i=0;i<4000;i++)
{
for(j=0;j<400;j++);
}
}
效果如下: