Re: 請問有關"UART的鮑率設定問題"
|
||||
---|---|---|---|---|
版主
|
RCIF 只有在讀取 RCREG 時會被清除,TXIF 則是在寫入TXREG 時會清除。發送資料也可以檢查 TMRT 位元。
發表於: 2006/8/11 17:36
|
|||
|
Re: 請問有關"UART的鮑率設定問題"
|
||||
---|---|---|---|---|
新會員
|
你要將 TRISC 6/TX 和 TRISC 7/ RX 皆設為1
USART控制電路會再自動從新設罝這兩隻接腳的功能
發表於: 2006/8/11 11:03
|
|||
|
請問有關"UART的鮑率設定問題"
|
||||
---|---|---|---|---|
高級會員
|
各位高手大家好.......
我在做UART時有遇到一個問題..... 我用的是PIC18F4550(APP013).. 我所接的震盪器是16MHz........ 以下是我Initial UART的Code..... Init_UART banksel TRISC bcf TRISC, 6, ACCESS bsf TRISC, 7, ACCESS banksel TXSTA movlw b'00100000' movwf TXSTA, ACCESS movlw b'10010000' movwf RCSTA, ACCESS movlw .25 movwf SPBRG, ACCESS banksel PIR1 bcf PIR1,TXIF,ACCESS bcf PIE1,TXIE,ACCESS bcf IPR1,RCIP,ACCESS bcf PIR1,RCIF,ACCESS bsf PIE1,RCIE,ACCESS return 以上的Code...我是參考一些Sample code,而寫法我有些疑問,我看了一下Spec.發現TXIF和RCIF是Read Only...可是以上程式卻對他做存取...真是怪了...我把這些Code拿掉工作就不正常了...???? 不過我最大的問題是,根據Spec.上的設定,我用16MHz,設定BRGH為Low Speed,且設定為9600bps..因此計算的結果SPBRG應該為25....如我上述之Initial Code....而我PC端也設為9600bps,但是我PC端所收到的資料卻不是我要的..因該是亂碼.而我確定Device有再傳資料到PC...... 不過經過我Try and Error之後....我發現我把BRGH設為High Speed,而SPBRG一樣是25....而PC端設為115200就可以正常接收了....天阿....問題真的好多...請問我有哪裡設定錯誤嗎...??? 謝謝...!!!!!! 以下是我傳輸字元到PC的Code.... Tx_a_Byte banksel TXREG movlw a'h' movwf TXREG, ACCESS Tx_Cmp banksel PIR1 btfss PIR1, TXIF bra Tx_Cmp
發表於: 2006/8/3 11:54
|
|||
|