Страница 1 из 1

TM4C123GH6PZ, как правильно вписать вектор прерывания

Добавлено: Ср апр 23, 2014 11:06:59
TripleKill
Подскажите, как для МК TM4C123GH6PZ вписать в код вектор прерывания INT_TIMER0B.
Пробовал ковыряться в hw_ints.h и interrupt.h, но не вышло. В примере таймера написано:
"//! This example uses the following interrupt handlers. To use this example
//! in your own application you must add these interrupt handlers to your
//! vector table.
//! - INT_TIMER0B - Timer0BIntHandler"

Собственно, в коде обработчик прерывания уже написан, только, похоже, его надо ещё куда-то отдельно вписать. Кто-нибудь знает?
Среда Keil 5.
Спасибо.

P.S. По-моему в STM так морочиться не приходилось, там сразу все имена обработчиков прописаны, или я что-то путаю?

Re: TM4C123GH6PZ, как правильно вписать вектор прерывания

Добавлено: Чт май 08, 2014 01:26:52
Zud
TripleKill писал(а): //! - INT_TIMER0B - Timer0BIntHandler"
..
P.S. По-моему в STM так морочиться не приходилось, там сразу все имена обработчиков прописаны, или я что-то путаю?
Ну так наверное просто надо написать функцию Timer0BIntHandler.
Типа

Код: Выделить всё

void Timer0BIntHandler(void)
{
blah-blah-blah(blah);
}
В STM просто был отдельный модуль где были собраны пустые обработчики прерываний. Кстати это не совсем правильно, но для обучения было лучше.

Re: TM4C123GH6PZ, как правильно вписать вектор прерывания

Добавлено: Пт май 16, 2014 11:25:24
Daelcoe
Вы используете TivaWare? Если да, то вам надо просто вызвать функцию TimerIntRegister, куда передать указатель на вашу функцию обработчик. Подробности тут: http://www.ti.com/lit/ug/spmu298/spmu298.pdf

Если же вы не используете TivaWare, то советую начать использовать! :) Либо надо править файл в котором указываются вектора прерываний. Поищите в проекте, должен быть такой файл. Там по умолчанию указаны вектора на пустые обработчики прерываний(а точнее с бесконечным циклом, чтобы отлавливать ошибки). Я пишу в CCS, но думаю в Keil все так же.