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

 
 
> FIFO в LPC2138, Прерывание по приему
asen
сообщение Oct 5 2006, 08:16
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 513
Регистрация: 5-09-05
Из: Барнаул
Пользователь №: 8 220



Вот пытаюсь зделать прерывание по приему 8 байт на УАПП0 включил FIFO настроил вроде но все равно вызывается прерывание только когда принелось 14 байт не знает что такое может быть ума не приложу !

вот инит какой
/ Setup UART interrupt
void InitUART0Interrupt(void)
{
// Setup uart1 callback functions.
// uart0rx_function = uart0rx_func;
// uart0tx_function = uart0tx_func;

VICIntSelect &= ~VIC_UART0_bit; // IRQ on UART0.
VICVectAddr15 = (unsigned int)&UART0Interrupt;
VICVectCntl15 = 0x20 | VIC_UART0; // Enable vector interrupt for UART0.
VICIntEnable |= VIC_UART0_bit; // Enable UART 0 interrupt.
U0IER=1;

}

/**** UART0 ****/
void UART0Initialize(unsigned int baud)
{
unsigned int divisor = peripheralClockFrequency() / (16 * baud);

//set Line Control Register (8 bit, 1 stop bit, no parity, enable DLAB)
U0LCR_bit.WLS = 0x3; //8 bit
U0LCR_bit.SBS = 0x0; //1 stop bit
U0LCR_bit.PE = 0x0; //no parity
U0LCR_bit.DLAB = 0x1; //enable DLAB
//with one row
// U0LCR = 0x83;


//devisor
U0DLL = divisor & 0xFF;
U0DLM = (divisor >> 8) & 0xFF;
U0LCR &= ~0x80;

//set functionalite to pins: port0.0 -> TX0, port0.1 -> RXD0
PINSEL0_bit.P0_0 = 0x1;
PINSEL0_bit.P0_1 = 0x1;
U0FCR_bit.RTLS=0x01;
U0FCR_bit.FCRFE=1;
U0FCR_bit.RFR=1;
U0FCR_bit.TFR=1;
//with one row
//PINSEL0 = PINSEL0 & ~0xF | 0x5;
}
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 16th August 2025 - 04:54
Рейтинг@Mail.ru


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