Ошибка в коде или аппаратная?
- Войдите на сайт для отправки комментариев
Пнд, 16/04/2018 - 08:34
Вчера на занятии, один продвинутый дитенок решил улучшить моргалку светодиодом. Код примерно такой (на память):
void setup(){
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
}
void loop(){
for( int pin=3; pin<6; pin++)
{
for(int val=0; val<251; val++){
digitalWrite(pin, val);
delay(15);
}
digitalWrite(pin, LOW);
}
}
Результат: два светодиода из трех нормально плавно включаются и гаснут. А третий (№4) - вспыхивает только в самом конце ярко и сразу тухнет. В чем может быть дело?
P.S. Было в конце занятия, проверить и что-то поменять сам не успел, а он сказал что пробовал переносить светодиоды на другие пины - результат оказался тем же самым, соответственно он решил что проблема в коде. Я - не вижу, может кто подскажет?
10for(intval=0; val<251; val++){11digitalWrite(pin, val);прекращай употреблять вещества, изменяющие сознание.
Видать, память подводит. Нет у светодиодов никаких причин плавно включаться.
Нет, это у меня уже контроль четности плохо срабатывает. Конечно же там analogWrite() стоял в 11 строке. :)
А когда астрологи объявили неделю доступности PWM на D4? Я так надолго моргнул что ли...
А когда астрологи объявили неделю доступности PWM на D4? Я так надолго моргнул что ли...
у меня доступно на D4. О_О а, шо такое?
LCD MK +---\/---+ |RS(04)| [-----(D 8) PB0 1| |40 PA0 (D 24) (A0)-] matrix_x[0]-\ |RW(05)| [-----(D 9) PB1 2| |39 PA1 (D 25) (A1)-] matrix_x[1] \ |E (06)| [-----(D 10) PB2 3| |38 PA2 (D 26) (A2)-] matrix_x[2] \ |D4(11)| [--PWM(D 11) PB3 4| |37 PA3 (D 27) (A3)-] matrix_x[3] \_matrix 5x4 |D5(12)| [-----(D 12) PB4 5| |36 PA4 (D 28) (A4)-] matrix_y[0] /| |D6(13)| [-----(D 13) PB5 6| |35 PA5 (D 29) (A5)-] matrix_y[1] / | |D7(14)| [-----(D 14) PB6 7| |34 PA6 (D 30) (A6)-] matrix_y[2] / | GND [-----(D 15) PB7 8| |33 PA7 (D 31) (A7)-] matrix_y[3]-/ | RESET 9| |32 AREF | VCC 10| |31 GND | GND 11| |30 AVCC | 12MHz_/-XTAL2 12| |29 PC7 (D 23)------] TOSC2-\_32768Hz | \-XTAL1 13| |28 PC6 (D 22)------] TOSC1-/ / * [->-RX(D 0) PD0 14| |27 PC5 (D 21)------] matrix_x[4]---/ * [-<-TX(D 1) PD1 15| |26 PC4 (D 20)------] matrix_x[*] USB D+SYNC[-INT0(D 2) PD2 16| |25 PC3 (D 19)------] * SHIFT [-INT1(D 3) PD3 17| |24 PC2 (D 18)------] AD LED_01 [--PWM(D 4) PD4 18| |23 PC1 (D 17)SDA---] * LED_03 [--PWM(D 5) PD5 19| |22 PC0 (D 16)SCL---] * USB D- [-----(D 6) PD6 20| |21 PD7 (D 7)PWM-T2] BUTTON_00 (no PWM or 32768Hz) +--------+У тебя вообще вон кварц 12мГц на подделке какой-то, так что не умничай ))
https://www.arduino.cc/reference/en/language/functions/analog-io/analogwrite/ -> On most Arduino boards (those with the ATmega168 or ATmega328P), this function works on pins 3, 5, 6, 9, 10, and 11.
Подозреваю, что речь идет о какой-то стандартной Arduino board.
У тебя вообще вон кварц на 12мГц, так что не умничай ))
у меня, вообще-то, там переключается и на 24 мегагерца. О_О
*от подделки слышу - честный USBaspLoader
А когда астрологи объявили неделю доступности PWM на D4? Я так надолго моргнул что ли...
Точно, спасибо. Был самый конец занятия, особо вникать было некогда.