yuguoyu123456 发表于 2021-1-30 21:32:52

为什么此电路芯片输出,连0603的LED灯都点不亮?


我确定程序是好使的,可以串口打印字符。我在调试的时候,发现led灯珠碰在芯片输出管脚和GND之间都只能看见超级小的一亮一灭(我程序控制的1s亮灭),直接用的电路发现只有电源电路的指示灯很亮,其他3个LED灯是直接控制管脚输出电压亮不了的。

yuguoyu123456 发表于 2021-1-30 21:34:23

求各位大佬支招,我确实是找不出任何原因了,我第一次自己打板arduino,现在有点慌{:mad:}

cne53102 发表于 2021-1-30 21:38:20

本帖最后由 cne53102 于 2021-1-30 21:44 编辑

上电后IO默认初始化为输入模式,如果楼主没有将IO设置为输出,就直接控制IO的话,那么实际开关的是IO内部的一个上拉电阻,阻值还挺大,就这效果。

#include <avr/io.h>
#include <util/delay.h>

#define LED PD3

int main(void){
    DDRD |= (1 << LED); //<-u need this!
    while (1) {
      PORTD |= (1 << LED);
      _delay_ms(500);
      PORTD &= ~(1 << LED);
      _delay_ms(500);
    }
    return (0);
}

laujc 发表于 2021-1-30 21:45:03

看下是不是刚打开,又被哪里关掉了

yuguoyu123456 发表于 2021-1-30 21:45:05

void setup() {
        Serial.begin(115200);
}
void loop() {
        digitalWrite(3, HIGH);
        delay(1000);
        digitalWrite(3, LOW);
        delay(1000);
        digitalWrite(4, HIGH);
        delay(1000);
        digitalWrite(4, LOW);
        delay(1000);
        digitalWrite(5, HIGH);
        delay(1000);
        digitalWrite(5, LOW);
        delay(1000);
}这是我的3个LED灯的测试程序

yuguoyu123456 发表于 2021-1-30 21:47:45

laujc 发表于 2021-1-30 21:45
看下是不是刚打开,又被哪里关掉了

就是灯特别弱,不仔细看都看不见

yuguoyu123456 发表于 2021-1-30 21:48:33

cne53102 发表于 2021-1-30 21:38
上电后IO默认初始化为输入模式,如果楼主没有将IO设置为输出,就直接控制IO的话,那么实际开关的是IO内部的 ...

同样的程序,我放在arduino uno开发板上就特别亮

laujc 发表于 2021-1-30 21:52:28

如果灯是亮的,可能就是输入/输出模式设置有问题
试着在亮灯前将IO设置为推挽

cne53102 发表于 2021-1-30 21:53:19

yuguoyu123456 发表于 2021-1-30 21:48
同样的程序,我放在arduino uno开发板上就特别亮

那。。板子断电,万用表用测二极管档位测量LED看看亮不亮,确认下方向

yuguoyu123456 发表于 2021-1-30 21:57:34

cne53102 发表于 2021-1-30 21:53
那。。板子断电,万用表用测二极管档位测量LED看看亮不亮,确认下方向

二极管是对的,我的4个二极管方向相同,电源指示灯特别亮

yuguoyu123456 发表于 2021-1-30 22:13:34

我认为应该是LED没有配置输出模式,谢谢各位大佬,我马上去测试

yuguoyu123456 发表于 2021-1-30 22:42:20

谢谢大家,果然是配置问题,输出模式就行了

liufabing 发表于 2021-1-30 22:44:32

直接上程序就对了.

t3486784401 发表于 2021-1-30 22:49:08

yuguoyu123456 发表于 2021-1-30 22:42
谢谢大家,果然是配置问题,输出模式就行了

pinMode 都没调用,你跟我说程序没问题。

在 Arduino 当中这是基础吧

yuguoyu123456 发表于 2021-1-31 09:56:05

t3486784401 发表于 2021-1-30 22:49
pinMode 都没调用,你跟我说程序没问题。

在 Arduino 当中这是基础吧

{:smile:} 谢谢指点

huangmeilifan 发表于 2021-1-31 10:35:34

喜欢用Arduino的人很多都是没有专业电路基础的, 一般不怎么关注芯片的底层配置,也不怎么关注电路的细节。
页: [1]
查看完整版本: 为什么此电路芯片输出,连0603的LED灯都点不亮?