從知道有STM32這個東西到現在也有快有2周時間了,還記得第一次接觸它時便被它強大的功能震撼了,由於之前只學過51,STM32迎面撲來的那麼多內容讓我着實有點招架不住,經朋友指點,果斷放棄之前準備認真研究數據手冊的想法,開始從例程入手,不過對於只操作過51的我來說,對我來說例程都有着不小的難度,沒辦法,又開始複習C語言中的結構體和指針的部分,《C語言程序設計——譚浩強版》《C和指針》一起看,順便把之前遺忘的細節也溫習了下,這週日又回過頭來研究STM32的例程,情況果然好轉,庫函數中能明白個大概了,再加上網上找到的漢化版庫函數一起研究,學習的效率便又提升了不少,今天總算把開發板(沒辦法,作爲窮學生,在淘寶上買了款最便宜的,板子不錯,可惜教材基本沒有http://item.taobao.com/item.htm?id=7470388049老闆超有耐心,順便幫他做個廣告,哈哈)上面的4個LED點亮了,代碼共享下(註釋比較全!)以便幫助想我一樣的菜鳥能快速步入STM32學習的正軌!如有錯誤,還請高手指正,在此不勝感激!
演示的是4個藍色LED(D1-D4) 輪流閃爍,GPIO_C6,7 GPIO_D6,13分別控制一個LED
#include "stm32f10x.h"
GPIO_InitTypeDef GPIO_InitStructure; /* 定義“GPIO_InitStructure”爲結構體“GPIO_InitTypeDef”類型
“GPIO_InitTypeDef”定義於“Stm32f10x_gpio.h”中
typedef struct
{
uint16_t GPIO_Pin;
GPIOSpeed_TypeDef GPIO_Speed;
GPIOMode_TypeDef GPIO_Mode;
}GPIO_InitTypeDef;爲了便於理解,把定義粘貼了出來,O(∩_∩)O*/
void RCC_Configuration(void)
{
SystemInit(); //定義於“system_stm32f10x.c”,RCC 系統復位(調試目的)
}
void Delay(__IO uint32_t nCount); //__IO定義於"core_cm3.h"(#define __IO volatile)
//uint32_t定義於“stdint.h”(typedef unsigned int uint32_t;)
int main(void)
{
RCC_Configuration(); //System Clocks Configuration
RCC_APB2PeriphClockCmd( RCC_APB2Periph_USART1 |RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB |
RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD |
RCC_APB2Periph_GPIOE, ENABLE);
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //PP:推輓輸出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6|GPIO_Pin_7; //D1 D2
GPIO_Init(GPIOC, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6|GPIO_Pin_13; //D3, D4
GPIO_Init(GPIOD, &GPIO_InitStructure);
while (1)
{
GPIO_SetBits(GPIOC, GPIO_Pin_6); //D1亮
GPIO_SetBits(GPIOC, GPIO_Pin_7 ); //D2亮
GPIO_SetBits(GPIOD, GPIO_Pin_13 ); //D3亮
GPIO_SetBits(GPIOD, GPIO_Pin_6 ); //D4亮
Delay(0xAFFFF);
GPIO_ResetBits(GPIOC, GPIO_Pin_6); //D1滅
GPIO_ResetBits(GPIOC, GPIO_Pin_7); //D2滅
GPIO_ResetBits(GPIOD, GPIO_Pin_13); //D3滅
GPIO_ResetBits(GPIOD, GPIO_Pin_6); //D4滅
Delay(0xAFFFF);
}
}
void Delay(__IO uint32_t nCount)
{
for(; nCount != 0; nCount--);
}
高手們看了註釋別笑我哈,我剛看的時候確實把我弄懵了.......