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

 
 
> прерывания на lpc1343
induke
сообщение Mar 27 2011, 14:10
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 104
Регистрация: 14-09-09
Пользователь №: 52 354



на лпц1768 всё что мне нужно работает на ура
на лпц1343 не могу ни одно прерывание запустить

вот тестовая програмка

таймер работает, шим выдает а прерывания ни таймер не ацп не выдает
вроде все включаю так же какина лпц1768, там все работает а тут нет
помогите где я чо не включил или где косяк
CODE

#include "LPC13xx.h" /* LPC13xx definitions */




/* Main Program */

volatile int ad;


int main (void) {


LPC_GPIO0->DIR = 0xFF;
LPC_GPIO2->DIR = 0xFF;
LPC_GPIO3->DIR = 0xFF;
LPC_GPIO1->DIR = 0x00;


LPC_IOCON->PIO0_8 = (1<<1)|(1<<3)|(1<<4);
LPC_IOCON->PIO1_10 = (1<<0)|(0<<7);



//NVIC->ISER = 1;


NVIC->ISER[1] = (1<<9)|(1<<10)|(1<<11)|(1<<14)|(1<<17); // T16(0),T16(1), T32(0),UART,ADC
LPC_SYSCON->SYSAHBCLKCTRL |= (1<<7)|(1<<8)|(1<<9)|(1<<12)|(1<<13)|(1<<16); // t16(0), t16(1),t32(0), uart, adc, iocon
LPC_SYSCON->PDRUNCFG |= (0<<4); //ADC ON


LPC_UART->FDR = 0x10; // disable fractional baudrate
LPC_UART->LCR = 0x83; /* 8 bits, no Parity, 1 Stop bit */

LPC_UART->DLM = 0x0;
LPC_UART->DLL = 24;
LPC_UART->LCR = 0x03; /* DLAB = 0 */
LPC_UART->FCR = 0x07; /* Enable and reset TX and RX FIFO. */


LPC_TMR16B0->TCR =1;
LPC_TMR16B0->PR = 50;
LPC_TMR16B0->MCR = (1<<10); // mr3r=1
LPC_TMR16B0->MR3 =2000;
LPC_TMR16B0->MR0 = 1000;
LPC_TMR16B0->PWMC = (1<<0);
LPC_TMR16B0->MR1 = 20;
LPC_TMR16B0->IR = 1<<1;



LPC_ADC->CR = (1<<6)|(30<<8)|(1<<16);
LPC_ADC->INTEN = (1<<8);





while (1)

{




}


return 0; // Should never reach here
}





void TIMER16_0_IRQHandler(void)
{
LPC_GPIO3->DATA = 0;
LPC_GPIO3->DATA = 255;


}





void TIMER16_1_IRQHandler(void)
{

}
void TIMER32_0_IRQHandler(void)
{

}

void TIMER32_1_IRQHandler(void)
{

}

void SSP_IRQHandler(void)
{

}

void UART_IRQHandler(void)
{

}

void USB_IRQHandler(void)
{

}

void USB_FIQHandler(void)
{

}

//void ADC_IRQHandler(void)

void ADC_IRQHandler (void)
{

LPC_GPIO3->DATA = 0;
LPC_GPIO3->DATA = 255;


ad = LPC_ADC->GDR;
ad>>6;


LPC_TMR16B0->MR0 = ad;


Сообщение отредактировал IgorKossak - Mar 27 2011, 19:31
Причина редактирования: Оформление длинного кода тэгами [codebox]
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
sysel
сообщение Mar 28 2011, 08:12
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 3-07-07
Пользователь №: 28 852



1) Какая среда разработки? М.б. стоит начать с примера под этот МК.
2) Отладка в RAM(нужен макрос ремапинга векторов прерываний) или Flash (без макроса ремапинга)?
3) Не забыли в проект включить корректный startup.s ?
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 16:44
Рейтинг@Mail.ru


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