|
|
  |
AVRStudio, Как прогнать программу с прерыванием? |
|
|
|
Oct 6 2007, 04:27
|
Группа: Новичок
Сообщений: 5
Регистрация: 4-10-07
Пользователь №: 31 075

|
Изучаю прерывания. Установил в програмку внешнее прерывание на ногу виртуального тини2313. Есть возможность при пошаговом прогоне программы изменить на данной ноге прерывания сигнал, что бы увидеть работу прерывания....
|
|
|
|
|
Oct 7 2007, 12:13
|
Группа: Новичок
Сообщений: 5
Регистрация: 4-10-07
Пользователь №: 31 075

|
Интересует где именно "сам руками выставляеш уровень на лапе". чего жать нужно?
|
|
|
|
|
Oct 7 2007, 21:25
|
Участник

Группа: Свой
Сообщений: 56
Регистрация: 12-04-06
Из: Haifa
Пользователь №: 16 042

|
Цитата(mdmitry @ Oct 8 2007, 00:35)  В AvrStudio справа панель портов, выбрать нужный и использовать. Только тыркать нужно не PORT а PIN !
|
|
|
|
|
Oct 8 2007, 04:57
|
Группа: Новичок
Сообщений: 5
Регистрация: 4-10-07
Пользователь №: 31 075

|
Спасибо за помощь. Второй вопрос. Тини 2313 имеет 8 выводов прерывания PCINT0-7 и только один вектор.... Значить я не могу использовать несколько прерываний одновременно?
|
|
|
|
|
Oct 8 2007, 07:11
|
Группа: Новичок
Сообщений: 5
Регистрация: 4-10-07
Пользователь №: 31 075

|
На выходит каменный цветок..... Не могу добиться перехода на метку PCINT при изменении PINB0...
.include "tn2313def.inc" .device attiny2313
.def temp =r16 ;general scratch space
rjmp RESET ;Reset Handle rjmp PCINT ;irq0 reset: ldi r28,low(RAMEND) out SPL,r28
ldi temp,0x01 ;initialise port B as O/I out PCMSK,temp ;Прерывание по PINB0. ldi temp,0x05 ;initialise port B as O/I out MCUCR,temp ;По низкому уровню. ldi temp,0x20 ;initialise port B as O/I out EIFR,temp ;PCIF После сработки заводит снова прерывание(очищает флаг для прерывания). ldi temp,0x20 ;initialise port B as O/I out GIMSK,temp ;PCIE разрешает работу этого прерывания (включает его)
delay: ldi r20,255 magain: ldi r19,255 fagain: dec r19 brne fagain dec r20 brne magain ret
PCINT: ldi temp,0b10101010 out DDRB,temp reti
|
|
|
|
|
Oct 8 2007, 13:36
|
Участник

Группа: Участник
Сообщений: 31
Регистрация: 25-07-06
Пользователь №: 19 070

|
Почему-то мне кажется, что надо еще разрешить прерывания глобально (sei).
|
|
|
|
|
Oct 8 2007, 14:18
|
Группа: Новичок
Сообщений: 5
Регистрация: 4-10-07
Пользователь №: 31 075

|
Спасибо помогло. "надо еще разрешить прерывания глобально (sei)."
|
|
|
|
|
Oct 11 2007, 14:05
|
Местный
  
Группа: Участник
Сообщений: 246
Регистрация: 4-12-06
Пользователь №: 23 101

|
Цитата(swisst @ Oct 9 2007, 13:53)  Дабы не плодить темы и я спрошу
Отладка в АВРСтудии приема по UART. ... данные которые я пишу в буфер приемника (в панеле отладки) А даже и не надо писать в буфер. Просто ткни мышой в бит RXC (UCSRA.7) - будет прерывание, а потом как mse сказал, "Читаем пустоту и правим уже в регистере".
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|