为什么此电路芯片输出,连0603的LED灯都点不亮?
我确定程序是好使的,可以串口打印字符。我在调试的时候,发现led灯珠碰在芯片输出管脚和GND之间都只能看见超级小的一亮一灭(我程序控制的1s亮灭),直接用的电路发现只有电源电路的指示灯很亮,其他3个LED灯是直接控制管脚输出电压亮不了的。 求各位大佬支招,我确实是找不出任何原因了,我第一次自己打板arduino,现在有点慌{:mad:} 本帖最后由 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);
} 看下是不是刚打开,又被哪里关掉了 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灯的测试程序 laujc 发表于 2021-1-30 21:45
看下是不是刚打开,又被哪里关掉了
就是灯特别弱,不仔细看都看不见 cne53102 发表于 2021-1-30 21:38
上电后IO默认初始化为输入模式,如果楼主没有将IO设置为输出,就直接控制IO的话,那么实际开关的是IO内部的 ...
同样的程序,我放在arduino uno开发板上就特别亮 如果灯是亮的,可能就是输入/输出模式设置有问题
试着在亮灯前将IO设置为推挽
yuguoyu123456 发表于 2021-1-30 21:48
同样的程序,我放在arduino uno开发板上就特别亮
那。。板子断电,万用表用测二极管档位测量LED看看亮不亮,确认下方向 cne53102 发表于 2021-1-30 21:53
那。。板子断电,万用表用测二极管档位测量LED看看亮不亮,确认下方向
二极管是对的,我的4个二极管方向相同,电源指示灯特别亮 我认为应该是LED没有配置输出模式,谢谢各位大佬,我马上去测试 谢谢大家,果然是配置问题,输出模式就行了 直接上程序就对了. yuguoyu123456 发表于 2021-1-30 22:42
谢谢大家,果然是配置问题,输出模式就行了
pinMode 都没调用,你跟我说程序没问题。
在 Arduino 当中这是基础吧 t3486784401 发表于 2021-1-30 22:49
pinMode 都没调用,你跟我说程序没问题。
在 Arduino 当中这是基础吧
{:smile:} 谢谢指点 喜欢用Arduino的人很多都是没有专业电路基础的, 一般不怎么关注芯片的底层配置,也不怎么关注电路的细节。
页:
[1]