找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1874|回复: 3
收起左侧

stm32流水灯第一个灯很亮,其他很暗

[复制链接]
ID:663740 发表于 2023-1-19 20:07 来自触屏版 | 显示全部楼层 |阅读模式
主程序如下:
#include "stm32f10x.h"
#include "delay.h"
#include "buzzer.h"
#include "led.h"
#include "key.h"

int main(void)
{
        Led_Init();//LED初始化
        Key_Init();
        Buzzer_Init();
        while(1)
        {
                GPIO_ResetBits(GPIOA, GPIO_Pin_0);
                Delay_ms(500);
                GPIO_SetBits(GPIOA, GPIO_Pin_0);
                GPIO_ResetBits(GPIOA, GPIO_Pin_1);
                Delay_ms(500);
                GPIO_SetBits(GPIOA, GPIO_Pin_1);
                GPIO_ResetBits(GPIOA, GPIO_Pin_2);
                Delay_ms(500);
                GPIO_SetBits(GPIOA, GPIO_Pin_2);
                GPIO_ResetBits(GPIOA, GPIO_Pin_3);
                Delay_ms(500);
                GPIO_SetBits(GPIOA, GPIO_Pin_3);
                Delay_ms(500);
        }
}
2$D6Z`Q{UM29H]NL$ZYP{TL.png
LER1B36MT5ASF`FO1WX94JP.png
VQHP7VKP`BPG51B_O3CEH(L.png
1674129982122..jpg
1674130016861..jpg
回复

使用道具 举报

ID:883242 发表于 2023-1-23 11:25 | 显示全部楼层
Delay_ms()贴出来。
应该是没有加volatile的缘故。
回复

使用道具 举报

ID:624769 发表于 2023-1-23 16:57 来自触屏版 | 显示全部楼层
你不觉得,是最后一个 delay 加多了么?去掉最后那个delay应该就一样了吧?
回复

使用道具 举报

ID:490458 发表于 2023-1-24 13:48 | 显示全部楼层
你的led是不是没有加限流电阻?led开始导通时候电压稍高点,然后会比导通开始时候降低一点,每个led的电压也有偏差。会不会正好是第一个电压最低,然后其他的两端电压差不够打开了?加上限流电阻试试
回复

使用道具 举报

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

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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