【STM32學習】(1)新建工程,寄存器操作點亮一盞燈

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++);
	}
}

效果如下:

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章