Cấu hình chạy với baudrate 19200 đây
Code:
unsigned int UxMODEvalue,UxSTAvalue,ubrg;
UxMODEvalue = UART_EN&UART_IDLE_CON&UART_IrDA_DISABLE&UART_MODE_FLOW& UART_UEN_00&UART_DIS_WAKE&UART_DIS_LOOPBACK&UART_DIS_ABAUD& UART_UXRX_IDLE_ONE&UART_BRGH_SIXTEEN&UART_NO_PAR_8BIT&UART_1STOPBIT;
UxSTAvalue=UART_INT_TX&UART_IrDA_POL_INV_ZERO&UART_SYNC_BREAK_DISABLED&UART_TX_ENABLE& UART_TX_BUF_NOT_FUL&UART_INT_RX_CHAR&UART_ADR_DETECT_DIS&UART_RX_OVERRUN_CLEAR;
ubrg = 0x81;
//UART1 configuration
OpenUART1(UxMODEvalue,UxSTAvalue,ubrg);
//UART1 interrupts
ConfigIntUART1 (UART_RX_INT_DIS&UART_TX_INT_DIS); //disable interrupts
Với UART chắc chỉ quan tâm đến baud rate, parity, data bit
Ngắt hay ko ngắt là tùy bạn cấu hình và tùy vào ứng dụng của bạn. Nếu bạn chỉ dùng mỗi UART thì chẳng cần ngắt, cứ dùng hàm này
Code:
char BusyUART1(void)
{
return(!U1STAbits.TRMT);
}
Muốn tính tốc độ thì dựa vào phần
UART BAUD RATE GENERATOR trong section 17 với dspic33F (hoặc để ý chữ refer to section bao nhiêu đó, ở dưới cấu hình các thanh ghi liên quan)