首页 > 其他分享 >STM32 PWM控制LED流水灯 学习记录随笔

STM32 PWM控制LED流水灯 学习记录随笔

时间:2023-11-04 13:23:01浏览次数:43  
标签:Delay LED temp Pin STM32 GPIOA ms GPIO PWM

代码部分

#include "stm32f10x.h"                  // Device header
#include "Delay.h"


int main(void)
{
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//启用系统寄存器时钟,使能GPIOC组,并启动
    GPIO_InitTypeDef GPIO_InitStructure;    //初始化GPIO_Init后需要定义一个结构体配置信息,根据stm32f10x_gpio.c文件要求需要定义
    /*
    以下三项定义与stm32f10x_gpio.h文件中选择
    Mode模式Pin引脚Speed速度即频率
    */
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//OUT PP通用推挽输出
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All;//注意Pin引脚选择
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;    

    GPIO_Init(GPIOA,&GPIO_InitStructure);//初始化结构体配置信息,并指向上4列代码配置信息
while(1)
        {
            unsigned char i,j,temp;
////单个接口LED PWM,pin脚选择Pin_0
//                for(temp=0;temp<20;temp++)
//            {
//                for(i=0;i<3;i++)
//                {
//                GPIO_ResetBits(GPIOA,GPIO_Pin_0);
//                Delay_ms(temp);
//                GPIO_SetBits(GPIOA,GPIO_Pin_0);
//                Delay_ms(20-temp);
//                }
//            }
//            for(temp=20;temp>0;temp--)
//            {
//                for(i=0;i<3;i++)
//                {
//                    GPIO_ResetBits(GPIOA,GPIO_Pin_0);
//                    Delay_ms(temp);
//                    GPIO_SetBits(GPIOA,GPIO_Pin_0);
//                    Delay_ms(20-temp);
//                }
//            }            
////8位PWM流水LED灯 Pin脚Pin_All
for(j=0;j<8;j++)
            {
                for(temp=0;temp<20;temp++)
            {
                for(i=0;i<3;i++)
                {
                    GPIO_Write(GPIOA,~(0x0001<<j));
                    Delay_ms(temp);
                    GPIO_SetBits(GPIOA,GPIO_Pin_All);
                    Delay_ms(20-temp);
                }
            }
            for(temp=20;temp>0;temp--)
            {
                for(i=0;i<3;i++)
                {
                    GPIO_Write(GPIOA,~(0x0001<<j));
                    Delay_ms(temp);
                    GPIO_SetBits(GPIOA,GPIO_Pin_All);
                    Delay_ms(20-temp);
                }
            }
            }
        }
}
其中延时函数使用B站UP江协科技Delay延时函数

实验随笔视频:B站BV18u4y1a7Pt

 

标签:Delay,LED,temp,Pin,STM32,GPIOA,ms,GPIO,PWM
From: https://www.cnblogs.com/oldwang2023/p/17809219.html

相关文章

  • 世微 平均电流型降压恒流驱动器 电动摩托车LED灯小钢炮驱动IC AP5218
    1,来源:深圳市世微半导体有限公司2,产品描述AP5218是一款PWM工作模式,高效率、外围简单、内置功率管,适用于5V~100V输入的高精度降压LED恒流驱动芯片。输出最大功率可达15W,最大电流1.5A。AP5218可实现全亮/半亮功能切换,通过MODE切换:全亮/半亮模式。AP5218工作频率固定......
  • 世微 平均电流型降压恒流驱动器 电动摩托车LED灯小钢炮驱动IC AP5218
    1,来源:深圳市世微半导体有限公司2,产品描述AP5218是一款PWM工作模式,高效率、外围简单、内置功率管,适用于5V~100V输入的高精度降压LED恒流驱动芯片。输出最大功率可达15W,最大电流1.5A。AP5218可实现全亮/半亮功能切换,通过MODE切换:全亮/半亮模式。AP5218工作频率固定在1......
  • STM32驱动SIM900A保姆级调试日记
    外观在优信电子买的,比其它商铺价格略高,不过质量应该有保障引脚连接VCC_IN接5VGND接地RXD接MCU TXDTXD接MCURXD(mcu指的是单片机如STM32)因为我只是用来发短信,所以其它引脚不用接!如果需要打电话可能需要咪头和喇叭!但如果是仅仅需要电话做一个提醒的作用,也可以只接上述几个引脚!串......
  • vue3路由转发报错Failed to resolve component: router-link
     //在学习vue3路由转发的时候,总是报路由的一些方法无法识别,undefined报错://App.vue:9[Vuewarn]:Failedtoresolvecomponent:router-link//vue路由跳转报错Cannotreadpropertiesofundefined(reading'push')原因:出在你挂载的位置这个路由的u......
  • stm32学习记录随笔23.11.3
    RCC外设时钟使能常用函数//标准库文件->stm32f10x_rcc.hvoidRCC_AHBPeriphClockCmd(uint32_tRCC_AHBPeriph,FunctionalStateNewState);//RCC_AHB外设时钟控制voidRCC_APB2PeriphClockCmd(uint32_tRCC_APB2Periph,FunctionalStateNewState);//RCC_APB2外设时钟控制void......
  • Distilling Knowledge from Graph Convolutional Networks
    目录概符号说明DistillGCNLocalStructurePreserving代码YangY.,QiuJ.,SongM.,TaoD.andWangX.Distillingknowledgefromgraphconvolutionalnetworks.CVPR,2020.概蒸馏表征间的结构关系,教师必须是图网络结构?符号说明\(\mathcal{G}=(\mathcal{V},\m......
  • 世微 DC-DC平均电流双路降压恒流驱动器 LED车灯AP2813
    产品描述     AP2813是一款双路降压恒流驱动器,高效率、外围简单、内置功率管,适用于5-80V输入的高精度降压LED恒流驱动芯片。内置功率管输出最大功率可达12W,最大电流1.2A。AP2813一路直亮,另外一路通过MODE1切换全亮,爆闪。AP2813工作频率固定在150KHZ左右,......
  • 【zabbix】configure: error: Unable to use libevent (libevent check failed)解决方
    安装zabbix,在zabbix目录下执行编译命令时报错configure:error:Unabletouselibevent(libeventcheckfailed),如图:说明:新服务器,一般依赖不足,需要视情况安装依赖,问题解决。解决方案:yuminstalllibevent-devel-y......
  • 舵机驱动——STM32F407ZGT6探索者——HAL库
    舵机驱动——STM32F407ZGT6探索者——HAL库1、材料准备开发板:正点原子STM32F407ZGT6探索者舵机:SG90舵机线材分辨:褐色/红色/橘黄色——GND/VCC/PWM_signal与开发板接线:褐色/红色/橘黄色——GND/+5V/PF6(任选的PF6)2、知识准备2.1、舵......
  • nginx报错 [error] 612#4188: CreateFile() "C:\yjzx\nginx-1.24.0/logs/nginx.pid"
    背景无论是nginx-sstop还是nginx-sreload命令,都会出现这个错误。[error]612#4188:CreateFile()"C:\yjzx\nginx-1.24.0/logs/nginx.pid"failed(2:Thesystemcannotfindthefilespecified)查找logs下nginx.pid文件确实没有创建成功,在网上查找了下了解决办法。发......