реклама на сайте
подробности

 
 
> Вопрос по Multi200, Отладка программы с прерываниями
Grave711
сообщение Jan 25 2006, 11:14
Сообщение #1





Группа: Новичок
Сообщений: 10
Регистрация: 26-08-05
Пользователь №: 7 987



Привет.
Такой вопрос. Работаю под Multi2000 через Wiggler. Процессор LPC2129.
Код размещается пока в ОЗУ. При пошаговой и автоматической отладке простых программ все нормально. А вот попытка работать с прерываниями ничего не дает.
Основная программа просто вызывает инициализацию и зацикливается.

____________________________________________________________________
Инициализация:

#include <lpc21xx.h>
void init(void)
{
PLLCON = 1; // Enable the PLL
PLLFEED = 0xAA;
PLLFEED = 0x55;
PLLCFG = 0x02; //M=010(x3),P=0(/1) PLLfreq = 60 Mhz, CCLK = 60 Mhz
PLLFEED = 0xAA;
PLLFEED = 0x55;
while(!(PLLSTAT & 0x0400)); // Wait for PLL to lock
VPBDIV=0x02; // 60/2=30 Mhz
PLLCON = 3; // Enable & connct the PLL
PLLFEED = 0xAA;
PLLFEED = 0x55;
IODIR0=1;


T0MR0=3000; // Match register value
T0MCR=0x03;
T0TCR=1; //Counter are enabled for counting
T0IR=0x0001; //Interrupt flag for match channel 0

VICVectAddr0 = (unsigned long) Timer_int; // set interrupt vector in 0
VICVectCntl0 = 0x24; // use it for Timer 0 Interrupt
VICIntEnable = 0x00000010; // Enable Timer0 Interrupt
________________________________________________________________________

Код обработчика прерывания такой:

#pragma ghs interrupt
void irq_handler(void)
{
void (*interrupt_function)();
unsigned int vector;

vector = VICVectAddr; // Get interrupt vector.
interrupt_function = (void(*)())vector;
(*interrupt_function)(); // Call vectored interrupt function.
VICVectAddr = 0; // Clear interrupt in VIC.
}
________________________________________________________________
По этому коду вызывается подпрограмма Timer_int, которая дергает ногой:

void Timer_int(void)
{
if (IOPIN0&0x01) IOCLR0=0x01;
else IOSET0=0x01;

T0IR = 1; // Clear interrupt flag
VICVectAddr = 0; // Acknowledge Interrupt
}
_________________________________________________________________
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th July 2025 - 11:38
Рейтинг@Mail.ru


Страница сгенерированна за 0.01353 секунд с 7
ELECTRONIX ©2004-2016