Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: В чем прикол?
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Vyatsek
В доке на мегу 16 описаны следующие адреса прерываний

$000 jmp RESET ; Reset Handler
$002 jmp EXT_INT0 ; IRQ0 Handler
$004 jmp EXT_INT1 ; IRQ1 Handler
$006 jmp TIM2_COMP ; Timer2 Compare Handler

и т.д.

а в файле IAR 4.11 вектора определены следующими адресами
#define RESET_vect (0x00)
#define INT0_vect (0x04)
#define INT1_vect (0x08)
#define TIMER2_COMP_vect (0x0C)

Почему стоят разные адреса, хотя контроллер один и тот же??
kalinka16
Цитата(Vyatsek @ Sep 19 2005, 08:15)
В доке на мегу 16 описаны следующие адреса прерываний

$000 jmp RESET ; Reset Handler
$002 jmp EXT_INT0 ; IRQ0 Handler
$004 jmp EXT_INT1 ; IRQ1 Handler
$006 jmp TIM2_COMP ; Timer2 Compare Handler

и т.д.

а в файле IAR 4.11 вектора определены следующими адресами
#define    RESET_vect          (0x00)
#define    INT0_vect            (0x04)
#define    INT1_vect            (0x08)
#define    TIMER2_COMP_vect    (0x0C)

Почему стоят разные адреса, хотя контроллер один и тот же??
*


В доке адреса в словах (2 байта), а в ИАРе в байтах
Vyatsek
Да я и сам потом подумал, что просто компилеры разные и по разному воспринимают адреса, один в байтах а другой в словах, но пасиба большое
Runner
Цитата(Vyatsek @ Sep 19 2005, 09:12)
Да я и сам потом подумал, что просто компилеры разные и по разному воспринимают адреса, один в байтах а другой в словах, но пасиба большое
*

Сталкивался именно с этой проблемкой - нужно использовать адресса из заголовочных файлов.
vzyk
Because a word in flash is 2-byte length. So in DOC an offset is written in words, and in IAR header - offset is in bytes. That's why you see this differency.
Just use these header files, and will be ok.

P.S. Sorry for english, not russian...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.