一.所需软件:1.keiluvision 2.flymcu(自行下载)
所需硬件:stm32mini开发板
二.代码:来自内部教材,标本历程跑马灯寄存器版本
1.led.h
#ifndef __LED_H
#define __LED_H
void LED_Init(void);
#endif
2.led.c
#include "stm32f10x.h"
#include "led.h"
void LED_Init(void)
{
RCC->APB2ENR|=1<<2; //使能A时钟
RCC->APB2ENR|=1<<5; //使能D时钟
GPIOA->CRH&=0xFFFFFFF0; //将A端口高位的第一位,即A8位先清除
GPIOA->CRH|=0x00000003; //将A8设置为推挽输出输出速率为50MHz
GPIOA->ODR|=1<<8; //拉高A8电平,先使其没有电压差
GPIOD->CRL&=0xFFFFF0FF; //将D端口高位的第一位,即D2位先清除
GPIOD->CRL|=0x00000300; //将D2设置为推挽输出输出速率为50MHz
GPIOD->ODR|=1<<2; //拉高D2电平,先使其没有电压差
}
3.main.c
#include "stm32f10x.h"
#include "delay.h"
#include "led.h"
int main(void)
{
delay_init();
LED_Init();
while(1)
{
GPIOA->ODR|=1<<8; //A8电平拉高
GPIOD->ODR|=1<<2; //D2电平拉高
delay_ms(500); //延迟500ms
GPIOA->ODR=~(1<<8); //A8电平拉低,产生电压差
GPIOD->ODR=~(1<<2); //D2电平拉低,产生电压差
delay_ms(500);
}
}
三.将obj文件通过flycu上传板子。