day05:闪烁灯实验

#include "stm32f10x.h"

// 宏定义:指针
#define GPIO_RCC *(unsigned int *)0X40021018
#define GPIO_CRL *(unsigned int *)0X40011000
#define GPIO_ODR *(unsigned int *)0X4001100C
	
// 延迟函数
void delay(unsigned int i)
{
	for(; i!=0; i--);
}

int main(void)
{
	/* 配置RCC寄存器,使能GPIO口的时钟 */
	GPIO_RCC |= ( 1<<4 );
	
	/* 配置CRL寄存器,配置为推挽输出 */
	GPIO_CRL |= ( 1<<(4*2) );
	
	// 闪烁灯
	while(1)
	{
		/* 配置ODR寄存器 */
		GPIO_ODR &= ~( 1<<2 );	// 位2置0,LED亮
		delay(0XFFFFF);		
		
		GPIO_ODR |= ( 1<<2 );	// 位2置1,LED不亮
		delay(0XFFFFF);			
	}
}

void SystemInit(void)
{
	/* 函数体为空,目的是为了骗过编译器不报错 */
}

 实验现象:D4的LED灯大概隔1秒闪烁一次。

========================================

D5的LED灯闪烁:

#include "stm32f10x.h"

// 宏定义:指针
#define GPIO_RCC *(unsigned int *)0X40021018
#define GPIO_CRL *(unsigned int *)0X40011000
#define GPIO_ODR *(unsigned int *)0X4001100C
	
// 延迟函数
void delay(unsigned int i)
{
	for(; i!=0; i--);
}

int main(void)
{
	/* 配置RCC寄存器,使能GPIO口的时钟 */
	GPIO_RCC |= ( 1<<4 );
	
	/* 配置CRL寄存器,配置为推挽输出 */
	GPIO_CRL |= ( 1<<(4*3) );
	
	// 闪烁灯
	while(1)
	{
		/* 配置ODR寄存器 */
		GPIO_ODR &= ~( 1<<3 );	// 位3置0,LED亮
		delay(0XFFFFF);		
		
		GPIO_ODR |= ( 1<<3 );	// 位3置1,LED不亮
		delay(0XFFFFF);			
	}
}

void SystemInit(void)
{
	/* 函数体为空,目的是为了骗过编译器不报错 */
}

 ===========================================

D4和D5之间切换闪烁

#include "stm32f10x.h"

// 宏定义:指针
#define GPIO_RCC *(unsigned int *)0X40021018
#define GPIO_CRL *(unsigned int *)0X40011000
#define GPIO_ODR *(unsigned int *)0X4001100C
	
// 延迟函数
void delay(unsigned int i)
{
	for(; i!=0; i--);
}

int main(void)
{
	/* 配置RCC寄存器,使能GPIO口的时钟,D4和D5共用使能端,即开关是共用 */
	GPIO_RCC |= ( 1<<4 );
	
	// 闪烁灯:D4和D5两个LED灯之间不断闪烁
	while(1)
	{
		/* 配置CRL寄存器,配置为推挽输出 */
		GPIO_CRL |= ( 1<<(4*2) );
		/* 配置ODR寄存器 */
		GPIO_ODR &= ~( 1<<2 );	// 位2置0,LED亮:D4
		delay(0X99999);	
		GPIO_ODR |= ( 1<<2 );	// 位2置1,LED不亮:D4
		
		/* 配置CRL寄存器,配置为推挽输出 */
		GPIO_CRL |= ( 1<<(4*3) );
		/* 配置ODR寄存器 */
		GPIO_ODR &= ~( 1<<3 );	// 位3置0,LED亮:D5
		delay(0X99999);		
		GPIO_ODR |= ( 1<<3 );	// 位3置1,LED不亮:D5		
	}
}

void SystemInit(void)
{
	/* 函数体为空,目的是为了骗过编译器不报错 */
}

 

posted @ 2018-04-15 20:39  半生戎马,共话桑麻、  阅读(208)  评论(0)    收藏  举报
levels of contents