Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

Всё очевидно, но что я забыл включить для работы таймера в LPC23ХХ ? (+)

Отправлено Bitwood 22 сентября 2008 г. 10:07


Понять не могу почему прерывание не срабатывает.

#include <intrinsics.h>
#include "iolpc23XX.h"

#pragma vector=VIC_TIMER0
__irq __arm void TO_Handler(void)
{
T0IR = 1;
}

void T0_Init(void)
{
VICProtection = 0;
VICAddress = 0; /* TC0 Interrupt -> Vector 4 */
VICVectAddr4 = (unsigned long) TO_Handler; /* TC0 Interrupt -> Vector 4 */
VICVectPriority4 = 0x02; /* TC0 Interrupt -> Priority 2 */
VICIntEnable = 1<<4; /* Enable TC0 Interrupt */
// VICIntSelect = 1<<4;

T0MR0 = 100; // = 10 msec / 66 nsec
T0MCR = 50; // Int on Match0, reset timer on match
T0CTCR=0; //Timer mode
T0TC = 0; // reset Timer counter
T0TCR = 1;
}

int main()
{
T0_Init();

__enable_interrupt();

while(1)
{
// some loop
}
}


Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
поделите двойку на единицу:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru