Что это будет означать?
данные - 254 или 11111110 - это символ 8 на индикаторе.
А как ссылаться на эту область памяти? LPM?
Вы спрашиваете или просто попиз..ть и поморочить народу голову? Судя по Вашему статусу, и количеству сообщений, такие вопросы это не Ваш уровеньИ еще, как определить, где в ПЗУ памяти программ расположились указанные байты?
после всего кода?
т.е. допустим, последним был обработчик прерывания, команда reti была последней командой, и ее адрес был 0x190, значит, что в 0x191 будет расположен 1й параметр директивы .db?
Это что?расположен 1й параметр директивы .db?
А в чём разница между "254" и "11111110"?.db 254
Что это будет означать?
данные - 254 или 11111110 - это символ 8 на индикаторе.
А как ссылаться на эту область памяти? LPM?
Код: Выделить всё
Array:
.db 1, 2, 3, 4
ReadArray:
clr r16
ldi ZL, LOW(Array*2)
ldi ZH, HIGH(Array*2)
add ZL, r17 ; в r17 индекс элемента
adc ZH, r16
lpm r16, Z
retГде в программе записаны, там и есть.И еще, как определить, где в ПЗУ памяти программ расположились указанные байты?
Код: Выделить всё
PORTD=0b1000000;
DDRD=0x3F;
Код: Выделить всё
if (PIND.6==0)
{
PORTA.0=0;
PORTA.1=0;
PORTB.7=0;
#asm("nop");
#asm("nop");
state++;
switch(state)
{
case 0:PORTA.0=1;break;
case 1:PORTA.1=1;break;
case 2:PORTA.1=1;PORTA.0=1;break;
case 3:PORTB.7=1;break;
case 4:PORTB.7=1;PORTA.0=1;break;
case 5:PORTB.7=1;PORTA.1=1;state=-1;break;
}
} ;
А как у вас кнопка подключена?NebelWefer писал(а):Почему такое может быть? Нужен внешний подтяг. резистор?
да, на картинке ошибся, там должен быть PD6,ibiza11 писал(а):добавлю к сообщению Pooher`а в программе PORTD, на картинке PORTB.
почему? 0b1000000 - утановка 6го бита, и кнопка на PD6. PD7 отсутствует у 2313Pooher писал(а):Кнопка на PD6, подтяжка на PD7?
Бред. Пишите корректно: 0b01000000, даже если 7-ой бит отсутствует. За вас никто не будет думать, есть 7-ой бит или нет.NebelWefer писал(а):почему? 0b1000000 - утановка 6го бита, и кнопка на PD6. PD7 отсутствует у 2313
А затем, что вы ставите "1" сразу после "0b", т.е. в седьмой разряд.NebelWefer писал(а):Зачем думать про 7й бит(есть он или нет) когда речь идет о 6м?
6й бит!NebelWefer писал(а):0b1000000
Пожалуйста! только ради Вас сударь проверилPooher писал(а):ЗЫ: Ну попробуй, запиши 0b01000000
Код: Выделить всё
PORTD=0b01000000;
DDRD=0x3F;И кто же сказал, что после 0b идет обязательно 7й бит? все рависит от разрядности числа, в данном случае число 7битное.Gudd-Head писал(а):А затем, что вы ставите "1" сразу после "0b", т.е. в седьмой разряд.
Сударь! Если во время одного прерывания возникло другое, то об этом будет выставлен соответствующий флаг. Если вы разрешили прерывания в обработке соответвтвующего прерывания, то прерывание произойдёт. А если нет — прерывание будет после выхода из предыдущего прерывания.NebelWefer писал(а):Кстати, а если во время выполнения процедуры обработки прерывания таймера придет новое прерывание от него же оно выполниться?
Всё дело в том, как у вас происходит обработка нажатия на кнопку. Если по прерыванию от нажатия на кнопку — то достаточно анулировать флаг повторного случайного нажатия на кнопку (прерывания) записью лог. "1" в соотв. флаг.NebelWefer писал(а):Я это к тому где лучше разместить задержку для устранения дребезга кнопки в таймере или в основном теле.