我正在使用PIC18f2455的USART与RS232,并有一些问题,以配置它。
我用的是24 MHz晶体振荡器。该锁相环启用预分频器为6(设置4兆赫在输入),并提供一个固定的96 MHz在输出。后定标器设置为6,最后给出一个16 The的微控制器时钟。
使用这个时钟,我将OpenUSART函数的SPBRG设置为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函数卡住了.
发布于 2015-01-06 22:15:07
对于一个16 For的微控制器时钟,将USART_BRGH_LOW, 25
转换为USART_BRGH_HIGH, 103
,这将导致9,615.38波特(9600 -0.2%)。为什么不使用CPUDIV = OSC1_PLL2
给您一个48 MHz时钟?然后使用USART_BRGH_LOW, 77
。
https://stackoverflow.com/questions/27805518
复制相似问题