Re: 有關UART的Initial...
|
||||
---|---|---|---|---|
中級會員
|
參照:
jubel 寫到: 那倒不必。一寫完TXREG,PIC馬上可以開始處理其他的工作。不過還沒有把數據寫進TXREG之前,一定要確定TXIF為1。這樣的安排會有較高的效率。
發表於: 2006/8/24 3:49
|
|||
|
Re: 有關UART的Initial...
|
||||
---|---|---|---|---|
資深會員
|
參照:
我也都用16Mhz 9615hz 和9600 誤差才0.156% 對232C 標準來說 應該是可以容許的 至少在與電腦收發測試的結果 是完全正常的喔
發表於: 2006/8/23 18:33
|
|||
|
Re: 有關UART的Initial...
|
||||
---|---|---|---|---|
高級會員
|
我利用是波器去看Tx這隻腳的訊號...
而我故意讓PIC一直送出0x55.... 然後...一直去Try SPBRG的值... 讓頻率到達4.8KHz = 9600bps 結果....就有輸出了...... 而我Try到最後的值是77......Spec.上面寫的是25... 真是怪怪的...>"< 請問Spec.上面那個設定鮑率的公式.....其中說.. 工作頻率Fosc為16MHz..... 請問那是指我外接在OSC1和OSC2那16MHz的震盪器嗎...?? 謝謝....
發表於: 2006/8/21 14:47
|
|||
|
Re: 有關UART的Initial...
|
||||
---|---|---|---|---|
高級會員
|
謝謝您的回覆....
通常鮑率不是用算的嗎...? 所以我就用Spec.上面的公式算ㄚ... 它範例也是16MHz....... 就發送而言....我一開始寫法和您提供的一樣... 不過我覺得判斷TXIF好像比較穩定... 我是用示波器看波形的... 至於...banksel...因為之前常發生資料讀取或寫入錯誤..... 原因都是Ram的Bank沒選好.... 所以我都會加.... 請問多加會錯嗎..? 謝謝..
發表於: 2006/8/21 11:56
|
|||
|
Re: 有關UART的Initial...
|
||||
---|---|---|---|---|
資深會員
|
你用是18系列
那堆banksel可以拿掉不用寫 接收發射兩端的鮑率是否完全相同 16MHz弄不出一般通訊常用的標準鮑率 是否還沒傳送完成你就停止傳送離開了? 建議先接到電腦用RS232通訊測試軟體測試 看看你傳的數據電腦有無收到 以前我發生過這種錯誤 資料丟到TXREG後沒等到完成就離開切換成接收狀態 (我用RS485,75176傳輸IC必須切換傳送或接收) 所以資料都沒送出去... 現在我都會等到完成才離開
;傳送USART資料
發表於: 2006/8/21 10:43
|
|||
木亟缶夬金戔
彳艮缶夬金戔 走召缶夬金戔 |
||||
|
有關UART的Initial...
|
||||
---|---|---|---|---|
高級會員
|
各位高手大家好.....
有一個問題困擾我很久了...... 我想RS232大家應該都寫爛了.... 可是....我的還是不會動阿....>"< 以下是我的Initial Code.... 請各位高手幫我看看....哪裡有錯阿....感激不盡..... PS. 我用的是PIC18F2455, 16MHz Init_UART banksel TRISC bcf TRISC, 6, ACCESS bsf TRISC, 7, ACCESS banksel SPBRG movlw .103 movwf SPBRG, ACCESS banksel TXSTA movlw b'00100100' movwf TXSTA, ACCESS banksel RCSTA movlw b'10010000' movwf RCSTA, ACCESS banksel PIR1 bcf PIR1,TXIF,ACCESS bcf PIR1,RCIF,ACCESS banksel IPR1 bcf IPR1, RCIP, ACCESS banksel PIE1 bsf PIE1,RCIE,ACCESS return
發表於: 2006/8/21 9:59
|
|||
|