незапустить таймер2 на мега16
-
Александр Гончаров
- Родился
- Сообщения: 14
- Зарегистрирован: Вт дек 27, 2005 21:08:01
- Откуда: Питер
незапустить таймер2 на мега16
Перевожу программу с меги8 на мегу16 так вот возникла проблема, никак немогу запустить таймер tim2_comp на меге16. подскажите где я ошибся. сил уже нету 
- Вложения
-
- mega16.txt
- (2.72 КБ) 155 скачиваний
-
Александр Гончаров
- Родился
- Сообщения: 14
- Зарегистрирован: Вт дек 27, 2005 21:08:01
- Откуда: Питер
оказалось векторы прерываний надо было описать так....
тема закрыта
.CSEG
.ORG $0000
rjmp RESET
nop
rjmp EXT_INT0
nop
rjmp EXT_INT1
nop
rjmp TIM2_COMP
nop
rjmp TIM2_OVF
nop
rjmp TIM1_CAPT
nop
rjmp TIM1_COMPA
nop
rjmp TIM1_COMPB
nop
rjmp TIM1_OVF
nop
rjmp TIM0_OVF
nop
rjmp SPI_STC
nop
rjmp USART_RXC
nop
rjmp USART_UDRE
nop
rjmp USART_TXC
nop
rjmp ANALOG
nop
rjmp EE_RDY
nop
rjmp ANA_COMP
nop
rjmp TWI
nop
rjmp SPM_RDY
nop
тема закрыта
.CSEG
.ORG $0000
rjmp RESET
nop
rjmp EXT_INT0
nop
rjmp EXT_INT1
nop
rjmp TIM2_COMP
nop
rjmp TIM2_OVF
nop
rjmp TIM1_CAPT
nop
rjmp TIM1_COMPA
nop
rjmp TIM1_COMPB
nop
rjmp TIM1_OVF
nop
rjmp TIM0_OVF
nop
rjmp SPI_STC
nop
rjmp USART_RXC
nop
rjmp USART_UDRE
nop
rjmp USART_TXC
nop
rjmp ANALOG
nop
rjmp EE_RDY
nop
rjmp ANA_COMP
nop
rjmp TWI
nop
rjmp SPM_RDY
nop
-
Петро
- Первый раз сказал Мяу!
- Сообщения: 31
- Зарегистрирован: Вс сен 13, 2009 15:42:50
- Откуда: Львів
- Контактная информация:
можно проще - не писать столько ненужных nop'ов и переходов на обработчики прерываний, а написать:
OC2addr - константа, как раз и есть адрес вектора прерывания по равенстве TCNT2 i OCR2 таймера 2, по крайней мере в АТmega8 она так имеет такое имя.
И текст программы станет намного короче
Код: Выделить всё
. org OC2addr ;переход на адрес вектора прерываний по равенстве TCNT2 i OCR2
rjmp TIM2_COMP ;за тем адресом переход на обработчикOC2addr - константа, как раз и есть адрес вектора прерывания по равенстве TCNT2 i OCR2 таймера 2, по крайней мере в АТmega8 она так имеет такое имя.
И текст программы станет намного короче
