[an error occurred while processing this directive]
Попробуй так, вроде проблем не было
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Lonely Raven 22 февраля 2005 г. 16:00
В ответ на: Трабл с уартом в dsPIC. Отдельно передатчик работает нормально. А если что-то приходит в пиемник, то портятся передаваемы данные. Я уже пробовал и прерывания приемника вообще отключать во время передачи - все до.... отправлено Kukaracha 22 февраля 2005 г. 14:38

#define CPU_CLOCK THE_CLOCK_FREQ*dsPIC_MULTIPLAYER

#define CONFIG_INT_UART (UART_RX_INT_EN & UART_RX_INT_PR2 & UART_TX_INT_EN & UART_TX_INT_PR4)


void Setup_RS232_1()
{
word baud,uartmode,uartsta;

baud = (((CPU_CLOCK/THE_BAUD_RATE) /16) - 1);
uartmode = UART_EN &
UART_IDLE_CON &
UART_EN_WAKE &
UART_DIS_LOOPBACK &
UART_DIS_ABAUD &
UART_NO_PAR_8BIT &
UART_1STOPBIT;
uartsta = UART_TX_ENABLE & UART_TX_PIN_NORMAL & UART_INT_TX_BUF_EMPTY & UART_ADR_DETECT_DIS;
OpenUART1(uartmode,uartsta,baud);
ConfigIntUART1(CONFIG_INT_UART);
}

void ConfigIntUART1(unsigned int config)
{
// clear IF flags
IFS0bits.U1RXIF = 0;
IFS0bits.U1TXIF = 0;

// set priority
IPC2bits.U1RXIP = 0x0007 & config;
IPC2bits.U1TXIP = (0x0070 & config) >> 4;

// enable/disable interrupt
IEC0bits.U1RXIE = (0x0008 & config) >> 3;
IEC0bits.U1TXIE = (0x0080 & config) >> 7;
}

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru