stm32呼吸灯程序
时间: 2023-08-04 15:07:45 浏览: 169
STM32的PWM呼吸灯程序.zip
5星 · 资源好评率100%
以下是一个简单的STM32F103C8T6呼吸灯程序:
#include "stm32f10x.h"
void delay(int n)
{
int i;
for(i=;i<n;i++);
}
int main(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOC, &GPIO_InitStructure);
while(1)
{
int i;
for(i=;i<100;i++)
{
GPIO_SetBits(GPIOC, GPIO_Pin_13);
delay(i);
GPIO_ResetBits(GPIOC, GPIO_Pin_13);
delay(100-i);
}
for(i=100;i>;i--)
{
GPIO_SetBits(GPIOC, GPIO_Pin_13);
delay(i);
GPIO_ResetBits(GPIOC, GPIO_Pin_13);
delay(100-i);
}
}
}
这个程序使用了GPIOC的13号引脚作为输出,通过不断改变输出引脚的电平来实现呼吸灯效果。程序中使用了一个简单的延时函数来控制灯的亮度变化。
阅读全文