2015-01-06 3 views
1

Я использую USART PIC18f2455 с RS232 и имею некоторые проблемы с его настройкой.Конфигурирование PIC18f2455 для использования RS232

Я использую 24-мегагерцовый осциллятор. PLL активируется с предварительным делителем 6 (для установки 4 МГц на входе) и дает фиксированный выход 96 МГц на выходе. Поскалкатор установлен на 6, давая в конце 16 МГц для часов микроконтроллера.

С этими часами я установил SPBRG функции OpenUSART на 25 для скорости передачи 9600.

Это мой USART конфигурации:

#pragma config PLLDIV = 6, CPUDIV = OSC4_PLL6, USBDIV = 2, FOSC = HSPLL_HS OpenUSART(USART_TX_INT_ON & USART_RX_INT_OFF & USART_ASYNCH_MODE & USART_EIGHT_BIT & USART_CONT_RX & USART_BRGH_LOW, 25);

Он застрять в функции OpenUSART ...

+0

Можете ли вы включить здесь код функции OpenUSART? –

ответ

1

Для 16МГц микроконтроллера изменения тактовой USART_BRGH_LOW, 25 в USART_BRGH_HIGH, 103, что приведет к 9,615.38 baud (9600 -0.2%). Почему бы не использовать CPUDIV = OSC1_PLL2, чтобы дать вам тактовую частоту 48 МГц? Затем вы использовали USART_BRGH_LOW, 77.

+0

Спасибо за помощь, ваша конфигурация работала после того, как я решил других. Проблемы с прерыванием. –

Смежные вопросы