野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7916|回复: 1

固件库流水灯

[复制链接]
发表于 2018-12-9 15:22:34 | 显示全部楼层 |阅读模式
本帖最后由 NicholasXu 于 2018-12-9 15:31 编辑

[mw_shl_code=c,true]#include "stm32f10x.h"   // 相当于51单片机中的  #include <reg51.h>
#include "bsp_led.h"

void Delay(uint32_t count)
{
        for(;count!=0;count--);
}

int main(void)
{
        // 来到这里的时候,系统的时钟已经被配置成72M。
        LED_Config();
        while(1)
        {
                LED_G(OFF);
                Delay(0x5fffff);
                LED_G(ON);
                Delay(0x5fffff);
        }
        
}


// bsp : board support package 板级支持包
#include "bsp_led.h"

void LED_Config(void)
{
        GPIO_InitTypeDef GPIO_InitStruct;
        
        RCC_APB2PeriphClockCmd(LED_G_GPIO_CLK, ENABLE);
        GPIO_InitStruct.GPIO_Pin = LED_G_GPIO_PIN;
        GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
        GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
        
        GPIO_Init(LED_G_GPIO_PORT ,&GPIO_InitStruct);
        
        
        RCC_APB2PeriphClockCmd(LED_B_GPIO_CLK, ENABLE);
        GPIO_InitStruct.GPIO_Pin = LED_B_GPIO_PIN;
        GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
        GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
        
        GPIO_Init(LED_B_GPIO_PORT ,&GPIO_InitStruct);
        
        
        RCC_APB2PeriphClockCmd(LED_R_GPIO_CLK, ENABLE);
        GPIO_InitStruct.GPIO_Pin = LED_R_GPIO_PIN;
        GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
        GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
        
        GPIO_Init(LED_R_GPIO_PORT ,&GPIO_InitStruct);
}



#ifndef   __BSP_LED_H
#define   __BSP_LED_H

#include "stm32f10x.h"

//Blue-绿色
#define LED_G_GPIO_PORT    GPIOB
#define LED_G_GPIO_CLK     RCC_APB2Periph_GPIOB
#define LED_G_GPIO_PIN     GPIO_Pin_0

//Blue-蓝色
#define LED_B_GPIO_PORT    GPIOB
#define LED_B_GPIO_CLK     RCC_APB2Periph_GPIOB
#define LED_B_GPIO_PIN     GPIO_Pin_1

//Blue-红色
#define LED_R_GPIO_PORT    GPIOB
#define LED_R_GPIO_CLK     RCC_APB2Periph_GPIOB
#define LED_R_GPIO_PIN     GPIO_Pin_5

#define     ON     1
#define     OFF    0

#define LED_G(a)  if(a)\
                              GPIO_ResetBits(LED_G_GPIO_PORT, LED_G_GPIO_PIN);\
                  else  GPIO_SetBits(LED_G_GPIO_PORT, LED_G_GPIO_PIN);

#define LED_B(a)  if(a)\
                              GPIO_ResetBits(LED_B_GPIO_PORT, LED_B_GPIO_PIN);\
                  else  GPIO_SetBits(LED_B_GPIO_PORT, LED_B_GPIO_PIN);

#define LED_R(a)  if(a)\
                              GPIO_ResetBits(LED_R_GPIO_PORT, LED_R_GPIO_PIN);\
                  else  GPIO_SetBits(LED_R_GPIO_PORT, LED_R_GPIO_PIN);

void LED_Config(void);

#endif   /*__BSP_LED_H*/

[/mw_shl_code]
流水灯效果实现不了,麻烦大佬帮忙检查一下程序有什么问题,绿灯都点亮不了

错误的效果

错误的效果
回复

使用道具 举报

 楼主| 发表于 2018-12-9 15:32:49 | 显示全部楼层
错误的效果是混色,单色实现不了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-9-29 09:30 , Processed in 0.036970 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表