есть вот такой код -тупо пока тренируюсь с переферией
таймер работает, ацп работает, уарт0 неработает
помогите плиз что не так я пишу, вроде настраиваю так же как в примере.......
CODE
#ifdef __USE_CMSIS
#include "LPC17xx.h"
#endif
// TODO: insert other include files here
// TODO: insert other definitions and declarations here
#define PCTIM0 1
#define PCLK_TIMER0 0
#define MCR0I 0
#define ISE_TIMER0 1
#define MR0INT 0
#define MR0R 1
int main(void) {
// TODO: insert code here
LPC_GPIO0->FIODIR0 = 0xFFFFFFFF;
LPC_PINCON->PINSEL1 = (1<<14)|(0<<15);
LPC_SC->PCONP= LPC_SC->PCONP| (1<<PCTIM0)|(1<<12)|(1<<3); //12= ADC 3 = UART0
LPC_SC->PCLKSEL0 = LPC_SC->PCLKSEL0 | (1<< PCLK_TIMER0); //0-1-2-3 = /4 /1 /2 /8
LPC_SC->PCLKSEL0 = LPC_SC->PCLKSEL0 |(1<<6)|(1<<7); // f UART2 = PCLK
LPC_PINCON->PINSEL0 = LPC_PINCON->PINSEL0 |(1<<4); // P0.2 = UART0
LPC_PINCON->PINSEL0 = LPC_PINCON->PINSEL0 |(1<<6); // P0.3 = UART0
LPC_PINCON->PINMODE0 |= (1<<7); // P0.1 = NO RESISTOR
LPC_TIM0->TCR = 1;
LPC_TIM0->PR = 1;
LPC_TIM0->CCR=0;
LPC_TIM0->CTCR=0;
LPC_TIM0->EMR=0;
LPC_TIM0->MCR=0;
LPC_UART0->LCR = 3; //8 BIT MODE
LPC_UART0->LCR = LPC_UART0->LCR | (1<<7); //DLAB = 1
LPC_UART0->DLL =4;
LPC_UART0->DLM =0;
LPC_UART0->FDR= (8<<4)|(5);
LPC_UART0->LCR = LPC_UART0->LCR | (0<<7); //DLAB = 0
LPC_UART0->TER = (1<<7); //trx enable
LPC_UART0->FCR = 0x07; //fifo on
LPC_ADC->ADCR = LPC_ADC->ADCR | (1<<0) | (0x7f<< 8)| (1<<16)|(1<<21);
LPC_ADC->ADINTEN = 1<<8;
LPC_TIM0->MR0=10000;
LPC_TIM0->MCR=(1<<MCR0I)|(1<<MR0R); //interrupt on match 0
NVIC->ISER[0]=(1<<ISE_TIMER0) | (1<< 22);
// Enter an infinite loop, just incrementing a counter
volatile static int i = 0 ;
while(1) {
//LPC_GPIO0->FIOPIN0 = 255;
i++ ;
}
return 0 ;
}
void TIMER0_IRQHandler(void)
{
LPC_TIM0->IR=1<<MR0INT;
}
void ADC_IRQHandler(void)
{
long a;
a = LPC_ADC->ADGDR;
a = a >>4;
LPC_GPIO0->FIOPIN0 = a;
LPC_UART0->THR = a;
//LPC_ADC->ADGDR = 0<< 31;
//LPC_GPIO0->FIOSET0 = 255;
//asm("nop");
//asm("nop");
//LPC_GPIO0->FIOCLR0 = 255;
}