RSS  |  PDA

Это реклама. Ссылки открываются в новом окне.
Микроконтроллеры

AVR начинающим - вопросы и ответы

1 | Стр. 59
akl
13.02.2016, 05:30
Swamp_Dok: Скачал 4-ю, а там нет 328p
Есть. И особо не влияет на симуляцию такого кода.
# 
GM ◊
13.02.2016, 18:32
Swamp_Dok: GM, с двумя включенными прерываниями - это был промежуточный вариант. Второе прерывание ни на что не влияет

Тут вы глубоко заблуждаетесь, в вашем промежуточном варианте второе прерывание очень даже влияет, поскольку таблица векторов прерываний у вас не заполнена. При возникновении прерывания int0 программа переходит на адрес 2: jmp EXT_INT0, а адрес EXT_INT0 есть адрес прерывания int1. Таким образом и при возникновении int0 и при возникновении int1 вы фактически переходите на один и тот же адрес EXT_INT0.

Теперь что будет происходить в системе. Вы не настроили прерывание int1 и оно по умолчанию прерывается по нулевому уровню на ножке, а ножка вами тоже не установлена, поэтому прерывание присутствует всё время. Что я и наблюдал, когда запустил вашу промежуточную программу в симуляторе аврстудио 4.18.

Ну а визуально вы ничего не увидите, поскольку ваши действия одни и те же: 0x81-> PORTB. Я ж вам советовал, поставьте out PINB,tmp и увидите изменения. Ну или введите честную подпрограмму обработки прерывания int1, а там введите другие действия, скажем, 0x7Е-> PORTB, изменения проявятся. Их я тоже наблюдал в симуляторе. Не забудьте про приоритет.

# 
Swamp_Dok ◊
14.02.2016, 21:19

akl, я видимо какую-то неудачную версию четвертой студии скачал. Скачал именно 4.19 и у меня все заработало сразу. Обработчик вызывается без проблем.
Вот и скачивай последние версии с оффсайта. Очень странно это. Почему 6-я и 7-я версия некорректно работают? Они ведь вроде как должны даже лучше работать.

# 
Страницы:
39  40  41  42  43  44  45  46  47  48  49  50  51  52  53  54  55  56  57  58  59 

Загруженные файлы