LOAD = 72 * time; SysTick->VAL = 0x00; SysTick->CTRL = 0x00000005; //打开时钟源..._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); } } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。