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);        
    }
  }
}

公众号:FPGA之旅

目录
相关文章
|
8月前
|
数据采集 IDE 编译器
STM32微控制器入门及应用实例
STM32微控制器入门及应用实例
|
3月前
【寄存器开发速成】半小时入门STM32寄存器开发(二)
【寄存器开发速成】半小时入门STM32寄存器开发(二)
|
3月前
|
芯片
【寄存器开发速成】半小时入门STM32寄存器开发(一)
【寄存器开发速成】半小时入门STM32寄存器开发(一)
|
6月前
|
传感器 编解码 API
【STM32开发入门】温湿度监测系统实战:SPI LCD显示、HAL库应用、GPIO配置、UART中断接收、ADC采集与串口通信全解析
SPI(Serial Peripheral Interface)是一种同步串行通信接口,常用于微控制器与外围设备间的数据传输。SPI LCD是指使用SPI接口与微控制器通信的液晶显示屏。这类LCD通常具有较少的引脚(通常4个:MISO、MOSI、SCK和SS),因此在引脚资源有限的系统中非常有用。通过SPI协议,微控制器可以向LCD发送命令和数据,控制显示内容和模式。
228 0
STM32使用PWM脉冲呼吸灯
对于灯等来说有很多种方法,前面介绍了一些基础的点灯方法,比如直接点灯,按键控制点灯,按键中断点灯,但都是比较简单的一些方法也很基础,要问我有没有什么高级点的点灯方法,答案是有的,在这我要介绍一种高级点灯的方法就是使用PWM进行点灯。
198 0
STM32使用PWM脉冲呼吸灯
|
NoSQL 数据可视化 编译器
用GCC开发STM32入门二
用GCC开发STM32入门二
|
IDE 编译器 Linux
用GCC开发STM32入门一(使用官方库)
用GCC开发STM32入门一(使用官方库)
|
芯片
立创EDA极速入门(2)——完成一个STM32最小系统板
立创EDA极速入门(2)——完成一个STM32最小系统板
2292 0
|
Android开发 C语言 芯片
如何更好的去学习STM32呢?(一)入门提示
如何更好的去学习STM32呢?(一)入门提示
559 0
如何更好的去学习STM32呢?(一)入门提示