light on a led ,we have to 3 files,led.h,led.c and main.c
led.h :
#ifndef LED_MMT_H
#define LED_MMT_H
void led_mmt_init();
#define LED_ON() GPIO_ResetBits(GPIOB,GPIO_Pin_0)
#define LED_OFF() GPIO_SetBits(GPIOB,GPIO_Pin_0)
#endif
led.c:
#include "led.h"
#include <stm32f10x.h>
void led_mmt_init(){
GPIO_InitTypeDef GPIO_InitStruct;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);//init clock of GPIOB
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStruct.GPIO_Pin = GPIO_Pin_0; //green led link to GPIOB -> Pin0
GPIO_Init(GPIOB,&GPIO_InitStruct);
GPIO_SetBits(GPIOB,GPIO_Pin_0);//make led off at first time
}
the green led linked to PB0
main.c:
#include <stm32f10x.h>
#include "./Led/led.h"
int main(){
led_mmt_init();
LED_ON();
}
first time we download the program to stm32 ,we hava to select the "reset and run":