Вт мар 16, 2021 19:17:33
Вт мар 16, 2021 20:43:59
GIMSK &= ~(1<<PCIE); //запрещаем прерывания
GIFR |= (1<<INTF0) | (1<<PCIF); // сброс флагов прерывания
Вт мар 16, 2021 20:51:34
#define LED_OUT_PIN PB3 //выход на светодиоды
Вт мар 16, 2021 21:23:33
а флаг прерывания сбрасывается по выходу.
Вт мар 16, 2021 21:25:42
Вт мар 16, 2021 21:30:00
Вт мар 16, 2021 21:33:59
Вт мар 16, 2021 21:51:40
Land писал(а):В тиньке13 PCINT на что реагирует? На смену уровня или на уровень?
Только на смену.
Land писал(а):аргументируйте, плз.
Land писал(а):Т.е. вы считаете, что в цикл падаю из-за чтения adc и записи в eeprom ? Ок, как рабочую версию приму, проверю. Спасибо
Вт мар 16, 2021 22:01:37
затрагивать скажем весь регистр PORTB?
В любом учебнике, во многих мануалах это написано - обработчик прерывания должен быть как можно более коротким.
Вт мар 16, 2021 22:09:27
затрагивать скажем весь регистр PORTB?
Вт мар 16, 2021 22:10:39
PB1 (MISO/AIN1/OC0B/INT0/PCINT1)
Ср мар 17, 2021 00:52:13
Ср мар 17, 2021 05:30:43
parovoZZ писал(а):Это кто-то придумал, а другие тупо скопипастили. Старые тиньки никак не предназначены для обработки прерывания вне его - флаги сбрасываются в прерывании, поэтому надо свои вводить, если обработчик пустой. Либо же лупом проверять флаги постоянно...Вообщем, костыльные микры...
Ср мар 17, 2021 07:49:49
Ср мар 17, 2021 08:49:19
Ср мар 17, 2021 09:37:58
Дело не в этом.
Ср мар 17, 2021 11:38:09
PORTB |= (1<<BUTTON_LUX_MEMORY) | (1<<BUTTON_SYGNAL); //входы кнопок (инициализация)
PORTB &= ~(1<<LED_OUT_PIN);
PORTB |= (1<<LED_OUT_PIN);
PORTB &= ~(1<<LED_OUT_PIN);
PORTB |= (1<<LED_OUT_PIN);
PORTB &= ~(1<<LED_OUT_PIN);
PORTB &= ~(1<<LED_OUT_PIN);
Ср мар 17, 2021 11:53:43
вы говорите, что в регистр GINSK нельзя писать через "или"?
Ср мар 17, 2021 12:16:18
Ср мар 17, 2021 13:31:08
Старые, это какие?