Ви не увійшли.
Теперь все работает как нужно ...
ясно...
В первом посту я привел ПОЛНЫЙ код программы который работает НЕ корректно, поэтому про другую часть речи не ведется...
Именно скетч из первого поста загружаю в ардуину и получаю проблему которую описал ...
В действительности всё совершенно иначе, чем на самом деле. (Антуан де Сетн Элзюпери)
renoshnik пише:Watchdog пише:Возможно, в другой части программы.
Я описываю проблему именно этого куска скетча. Специально "вытащил" его из программы и мучаюсь ....
Другая часть же не только ваша. Вот для таких случаев и делают отладчики. Есть хороший проверенный приём, если ошибку найти не удается переписать всё по-другому, с самого начала, без использования неработаюших текстов. Не думаю, что кто-то захочет проверять правильность ваших настроек и управления аппаратурой, лишь бы поумничать.
В первом посту я привел ПОЛНЫЙ код программы который работает НЕ корректно, поэтому про другую часть речи не ведется...
Именно скетч из первого поста загружаю в ардуину и получаю проблему которую описал ...
Watchdog пише:Возможно, в другой части программы.
Я описываю проблему именно этого куска скетча. Специально "вытащил" его из программы и мучаюсь ....
Другая часть же не только ваша. Вот для таких случаев и делают отладчики. Есть хороший проверенный приём, если ошибку найти не удается переписать всё по-другому, с самого начала, без использования неработаюших текстов. Не думаю, что кто-то захочет проверять правильность ваших настроек и управления аппаратурой, лишь бы поумничать.
Возможно, в другой части программы.
Я описываю проблему именно этого куска скетча. Специально "вытащил" его из программы и мучаюсь ....
Возможно, в другой части программы.
Привожу часть программы
#define f_base 13000
unsigned int du = 0, du_OCR = f_base;
void setup() {
// ====================================================================
Serial.begin(57600);
// ====================================================================
DDRD = B00011000;
PORTD = B00100000;
DDRB = B000010;
PORTB = B000000;
// TCCR1A = (1<<COM1A1)|(1<<COM1A0)|(1<<WGM11);
// TCCR1B = (1<<WGM13)|(1<<WGM12)|(1<<CS10); // mode 14 1110 = Fast Pwm to ICR1
// TCCR1A = 0xC2; TCCR1B = 0x19;
cli (); TCCR1A = 0; TCCR1B = 0; ICR1 = f_base; sei ();
}
void loop() {
if ((PIND&(1<<PIND5))==0) { soft_start(); }
}
void soft_start() { cli(); TCCR1A = 0xC2; TCCR1B = 0x19; sei();
label:
OCR1A = du_OCR; du_OCR = du_OCR-130; delay (25);
Serial.print(du_OCR,1);Serial.println(" stp ");
if (du_OCR > 100 && (PIND&(1<<PIND5))==0){ goto label;}
cli (); TCCR1A = 0; TCCR1B = 0; ICR1 = f_base; sei ();
du_OCR = f_base;
}
проблема в том, что после подаче питания на ардуину и нажатии кнопки (пин 5) ШИМ не работает хотя в монитор идут
данные !?!?!
если несколько раз нажать "ресет" перед нажатием кнопки, тогда появляется сигнал на пин 9 ...
вопрос - где я косячу ???