Re: 有關UART的Initial...
|
||||
---|---|---|---|---|
高級會員
|
謝謝nicecookie......
我和你的設定一樣阿..... 可是就是無法跑9600bps....>"< 我用的板子是APP013...我想硬體應該不會有問題吧...!! 我自己用2455另外做一個電路...情形也是一樣... 請問有人知道為什麼嗎....?!! 謝謝
發表於: 2006/8/24 13:21
|
|||
|
請問有關"UART和SPI切換"的問題
|
||||
---|---|---|---|---|
高級會員
|
各位高手大家好阿....^^
我用的PIC18F2455....的SPI和UART共用了 P.18(RC7/RX/DT/SDO) 而我需要這兩個功能..... 我的動作流程是..... 先用SPI讀取外部ADC Chip的資料到Buffer 再透過RS232將Buffer裡的資料傳到PC... 而我一開始先Initial SPI,再讀取值.... 接著關閉SPI bcf SSPCON1, SSPEN, ACCESS 再Initial UART,完成後Send Data to PC 接著關閉UART TXSTA = 0x00 RCSTA = 0x00 再Initial SPI.....一直重複這些動作...... 我發現...我無法順利的將值傳給PC...我確定Buffer裡面有值 也確定UART可以傳送資料...... 我做了一個實驗.... 當我傳完一筆資料(16Bytes)之後...將他強迫進入無窮回圈... 就可以順利接收到這筆資料..... 但如果持續動作就只能收到5~6Byte...就收不到了.. 請問做切換時需要注意什麼事情嗎..? 謝謝...
發表於: 2006/8/24 12:42
|
|||
|
Re: 有關UART的Initial...
|
||||
---|---|---|---|---|
高級會員
|
請教nicecookie......
我是用PIC18F2455 而我覺得我的設定應該ok... 而且Spec.上也有鮑率的設定範例.... 範例算出來的SPBRG = 25 ===>9600bps 但是我是用示波器慢慢看,慢慢Try...結果設定出來的 SPBRG = 77....才能正常9600bps輸出..... 請問您是怎麼設定的.....可以給我Initial Code嗎 .....??? 謝謝..!!!!!!
發表於: 2006/8/24 11:27
|
|||
|
Re: 有關UART的Initial...
|
||||
---|---|---|---|---|
高級會員
|
引言:
愛神一號 寫到: ... 不過還沒有把數據寫進TXREG之前,一定要確定TXIF為1 我不能強迫TXIF為1阿........ 因為那是Read Only.....
發表於: 2006/8/24 11:22
|
|||
|
Re: 又有小問題了....天阿...
|
||||
---|---|---|---|---|
高級會員
|
唉....真是Sorry..
我在我的Functions的最前面加一行.. functions code 就ok了.....真是的.... 唉...經驗阿.... Sorry....
發表於: 2006/8/24 11:17
|
|||
|
又有小問題了....天阿...
|
||||
---|---|---|---|---|
高級會員
|
我做Build All....是成功的...
不過output視窗卻出現....BUILD FAILED Error - section '.org_0' can not fit the absolute section. Section '.org_0' start=0x00000000, length=0x00000032 天阿.....請問我是哪裡沒設定好嗎...? 我的Code什麼都沒有...!! 進入Main之後....執行 loop bra loop
發表於: 2006/8/24 10:12
|
|||
|
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
|
|||
|
有關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
|
|||
|