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

 
 
> lpc1768 - пмогите не работает уарт0
induke
сообщение Jan 14 2011, 06:51
Сообщение #1


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

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



есть вот такой код -тупо пока тренируюсь с переферией
таймер работает, ацп работает, уарт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;


}
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 20:48
Рейтинг@Mail.ru


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