![]() |
|
Tài trợ cho PIC Vietnam |
||||||||
| dsPIC - Bộ điều khiển tín hiệu số 16-bit Theo dự kiến của Microchip, vào khoảng năm 2011 dsPIC sẽ có doanh số lớn hơn PIC |
![]() |
|
|
Ðiều Chỉnh | Xếp Bài |
|
|
|
|
#1 |
|
Đệ tử 1 túi
Tham gia ngày: Jul 2007
Bài gửi: 17
: |
các huynh cho đệ thỉnh giáo chút về UART.
tình hình là đệ đọc datasheet của thằng dsPIC33FJ256GP510 có mấy bit đệ không hiểu. các huynh chỉ giáo giùm nhé . xin đa tạ trước Thanh ghi UxMODE IREN: IrDA® Encoder and Decoder Enable bit . IrDA là cái gì vậy,trong datasheet không nói về cái này.em không hiểu . nếu set bit này lên 1 thì hiện tượng gì xảy ra ? LPBACK: UARTx Loopback Mode Select bit . bit chọn chế độ lặp lại nghĩa là sao. trong đây thì cái gì sẽ lặp lại ? và lặp lại như thế nào ? ABAUD: Auto-Baud Enable bit tự động chọn tốc độ truyền nhận , em muốn đặt tốc độ truyền là 9600bps thì nó có tự hiểu không ? URXINV: Receive Polarity Inversion bit theo em hiểu thì "đảo giá trị nhận được" tức là nó nhận được là LSB -> MSB . thì đảo lại là MSB -> LSB không biết có đúng không ? ở thanh ghi UxSTA UTXISEL<1:0>: Transmission Interrupt Mode Selection bits chọn chế độ ngắt truyền .em tưởng cứ truyền xong 1 byte thì ngắt chứ ? UTXBRK: Transmit Break bit không hiểu !!! UTXEN: Transmit Enable bit bật kênh truyền . em tưởng khi mà bật bit UARTEN thì cả Rx và Tx đều phải được bật chứ . ADDEN: Address Character Detect bit không hiểu thêm chút nữa. đệ không biết tốc độ truyền thì được tính thế nào . giả sử giờ đệ có thạch anh 7.3728MHz , truyền với tốc độ 9600bps thì giá trị thanh ghi UxBRG là bao nhiêu ? xin cảm ơn. |
|
|
|
|
|
#2 |
|
Đệ tử 4 túi
Tham gia ngày: Mar 2009
Bài gửi: 64
: |
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 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);
}
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) |
|
|
|
![]() |
| Tags |
| configuration, dspic30f, dspic33f |
|
|