[an error occurred while processing this directive]
|
Помогите начинающему плз. Почему прерывание по таймеру геренится каждые 34 мс (дергаю ногой и смотрю по осцилу) при следующей конфигурации проца при кварце 12МГц:
****Конфигурирование МАМ и ФАПЧ
MAMCR = 0x02; //разрешим полное использование MAM
MAMTIM = 0x03; //3 цикла ожидания при выборке из флеш
PLLCFG = 0; //работать от кварца
PLLCON = 0x01; //Включаем ФАПЧ
PLLFEED= 0xAA; //обновляем регистры ФАПЧ
PLLFEED= 0x55;
while (!(PLLSTAT & 0x400)); //Проверяем флаг Lock
PLLCON = 0x03; //подключаем ФАПЧ
PLLFEED= 0xAA; //обновляем регистры ФАПЧ
PLLFEED= 0x55;
****Конфигурирование Векторного Контроллера Прерываний
VICIntSelect &= ~0x10;
VICIntEnable = 0x10;
VICVectCntl4 = 0x24;
VICVectAddr4 = (unsigned int)timer0ISR;
****Конфигурирование Таймера 0
T0MR0 = 100000;
T0PR = 0; //предделитель = 1
T0MCR = 3; //сброс и прерывание при равенстве с T0MR0
T0TCR = 1; //запустить таймер 0
E-mail: info@telesys.ru