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

 
 
ruslannd
сообщение Feb 23 2010, 09:46
Сообщение #1


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

Группа: Участник
Сообщений: 106
Регистрация: 4-04-06
Пользователь №: 15 783



Помогите, пожалуйста сделать прерывания по приему байта по UART (контроллер LPC2388)
У меня получился следующий код, но он не работает:

nclude <RTL.h>
#include <LPC23xx.H>

#define Fcclk 48000000
#define Fpclk (Fcclk / 2)

U8 cnt;

__irq void recieveUART (void)
{
cnt++;
FIO2SET = cnt;
FIO2CLR = ~cnt;
}

void initUART (void)
{
U32 Fdiv;
PINSEL0 |= 0x40000000; /* TxD1 en */
PINSEL1 |= 0x00000001; /* RxD1 en */
U1LCR = 0x83; /* 8 bits, no Parity, 1 Stop bit */
Fdiv = (( Fpclk / 16 ) / 57600); /* baud rate */
U1DLM = Fdiv / 256;
U1DLL = Fdiv % 256;
U1LCR = 0x03; /* DLAB = 0 */
U1IER = 0x01;

VICVectAddr4 = (unsigned long)recieveUART;
VICVectCntl4 = 15; /* use it for Timer0 Interrupt */
VICIntEnable = 0x00000080;

}

int main (void)
{
FIO2DIR = 0x000000FF;
FIO2MASK = 0x00000000;
FIO2PIN = 0x00000000;
PINSEL10 = 0;
FIO2CLR = 0xFF;
FIO2SET = 0x01;
cnt=0;
initUART();
while (1)
{
}
}
Go to the top of the page
 
+Quote Post



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

 


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


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