STM32入門之呼吸燈

呼吸燈的實現,主要是利用開個Led燈的時間不同,利用人眼睛的視覺殘留效果以達到呼吸燈的效果

#include "stm32f10x.h"

void delay_us(u32 time) // 延時函數
{
	SysTick->LOAD = 72 * time;
	SysTick->VAL = 0x00;
	SysTick->CTRL = 0x00000005; //打開時鐘源
	while( !(SysTick->CTRL & 0x00010000));
	
	SysTick->CTRL = 0x00000004; //關閉時鐘源

}

void LED_Init()
{
	GPIO_InitTypeDef gpio;
	
	gpio.GPIO_Pin = GPIO_Pin_1;
	gpio.GPIO_Mode = GPIO_Mode_Out_PP;
	gpio.GPIO_Speed = GPIO_Speed_50MHz;
	
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
	
	GPIO_Init(GPIOB,&gpio);
	
}
int main(void)
{	
	int i=1;
	LED_Init();
	int flag = 0;
	while(1)
	{
		for(i=1 ;i<100;i++) //暗到明
		{
		GPIO_WriteBit(GPIOB,GPIO_Pin_1,(BitAction)(1));
		delay_us(i*10);
		GPIO_WriteBit(GPIOB,GPIO_Pin_1,(BitAction)(0));
		delay_us(2000-i*10);				
		}
	}
	
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章