Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

(+)

Отправлено miv 17 января 2007 г. 15:41
В ответ на: ну а на 7 канал VIC'а назначен? (VICVectCntl) а вообще инициализацию покажте отправлено ы 17 января 2007 г. 15:26


//----------------------------------------------------------
// Разрешаем прерывания только по приёму и передаче
static void LPC2292InitUART0( void ) {
// Set pins for use with UART
// Enable RxD0 and TxD0
PINSEL0_bit.P0_0 = 0x01;
PINSEL0_bit.P0_1 = 0x01;

// Set the FIFO enable bit in the FCR register. This bit must be set for
// proper UART operation. Reset Rx FIFO and Tx FIFO
U0FCR = 7;
LPC2292SetBuadUART0( CBR_DEFAULT );

//Set mode
U0LCR = 0;
U0LCR_bit.WLS = 0x3; // 8 bit word length
U0LCR_bit.SBS = 0x0; // 1 stop bit
U0LCR_bit.PE = 0x0; // No parity

VICIntSelect &= ~(1 < < VIC_UART0); // IRQ on UART0.
VICVectAddr4 = (unsigned int)&LPC2292UART0DefHandler;
VICVectCntl4 = 0x20 | VIC_UART0; // Enable vector interrupt for UART0.
VICIntEnable = (1 < < VIC_UART0); // Enable UART 0 interrupt.

// Enable UART0 interrupts
U0IER = 0;
U0IER_bit.RDAIE = 1; // Enable byte received interrupt
U0IER_bit.THREIE = 1; // Enable tx buf empty interrupt
}

//----------------------------------------------------------
// Разрешаем прерывания только по приёму и передаче
static void LPC2292InitUART1( void ) {

// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
// Set pins for use with UART 1
PINSEL0_bit.P0_8 = 0x01; // Enable TxD1
PINSEL0_bit.P0_9 = 0x01; // Enable RxD1
// PINSEL0_bit.P0_10 = 0x01; // Enable RTS
// PINSEL0_bit.P0_13 = 0x01; // Enable DTR

// Set the FIFO enable bit in the FCR register. This bit must be set for
// proper UART operation. Reset Rx FIFO and Tx FIFO
U1FCR = 1;

LPC2292SetBuadUART1( CBR_DEFAULT );

//Set mode
U1LCR = 0;
U1LCR_bit.WLS = 0x3; // 8 bit word length
U1LCR_bit.SBS = 0x0; // 1 stop bit
U1LCR_bit.PE = 0x0; // No parity

VICIntSelect &= ~(1 < < VIC_UART1); // IRQ on UART 1.
VICVectAddr5 = (unsigned int)&LPC2292UART1DefHandler;
VICVectCntl5 = 0x20 | VIC_UART1; // Enable vector interrupt for UART 1.
VICIntEnable = (1 < < VIC_UART1); // Enable UART 1 interrupt.

// Enable UART 1 interrupts
U1IER = 0;
U1IER_bit.RDAIE = 1; // Enable byte received interrupt
U1IER_bit.THREIE = 1; // Enable tx buf empty interrupt
}




Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
сложите 2 и 3:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru