Re: PIC16F877A UART
|
||||
---|---|---|---|---|
資深會員
|
附上MICROCHIP的SAMPLE CODE 參考一下
Attach file: Link only for registered users
發表於: 2010/1/13 10:06
|
|||
My name is jan,Jan是棒的
|
||||
|
Re: PIC16F877A UART
|
||||
---|---|---|---|---|
資深會員
|
老兄在你0X00到GOTO MAIN之間有一段程式空間都是中斷向量
所以建你在MAIN之前加上程式起始位置的設定 而且所有的程式碼建議在MAIN之後執行,以免你死在中斷裡 還有中斷預留的程式段,也建議補上去 不怕一萬,只怕萬一 參照:
發表於: 2010/1/13 9:54
Edited by foxjan on 2010年01月13日 10:11:28
|
|||
My name is jan,Jan是棒的
|
||||
|
Re: PIC16F877A UART
|
||||
---|---|---|---|---|
版主
|
這個圖起來怎樣都不像是 UART 的訊號才會讓你以為是 UART所送出去的。我看不出來為何會有此波型產生?
LVP 只在燒錄時有關,他跟一般程式執行無關。如果你用ICD2 之類的除錯工具燒錄時,LVP 是要 Disable 的不然會燒不進去的,所以我也覺得奇怪當初為何可以燒的進去。
發表於: 2010/1/13 9:27
Edited by Ryang on 2010年01月13日 09:57:47
|
|||
|
Re: PIC16F877A UART
|
||||
---|---|---|---|---|
高級會員
|
參照:
我用示波器一直勾住TxD (RC6)從一開始動作的時候他就會一直送出信號.. Dear Ryang,我想請問一下... 我不知道這會不會造成什麼問題 因為我的實驗板現在是用麵包板取代. 本來要洗一片板子出來的,可是卡手上的印表機壞掉了 印不出來!會不會是因為麵包板的關係才會造成這個問題? 我剛剛在重燒晶片的時候把low voltage pro disable起來 他動作就正常了耶...奈阿捏? Attach file: (0.00 KB)
發表於: 2010/1/12 22:27
Edited by xuan_root on 2010年01月12日 23:09:53
Edited by xuan_root on 2010年01月12日 23:33:08 |
|||
|
Re: PIC16F877A UART
|
||||
---|---|---|---|---|
資深會員
|
版主,我了解了,我還沒有機會使用到UART,以後用到時,會注意這點。
發表於: 2010/1/12 9:59
|
|||
|
Re: PIC16F877A UART
|
||||
---|---|---|---|---|
版主
|
參照:
在 PIC16 & PIC18 裡,很重要的一點是 : RCIF & TXIF 的清除方式。 RCIF 因一值都有再討論所以大家都曉得 RCIF 的清除方式是要讀取 RCREG 就會將 RCIF 清除,這也是造成利用 Watch window 看 REREG 時無法看到 RCIF 被設為 1 的狀態。 TXIF 的清除動作是,只要是 TxREG 是空的TXIF 就會是 1 ,只要將 TX Ddata 寫入到 TXREG 後 TXIF 就會清零,一旦 TXREG 的資料移到 TSR 後 TXIF 又會自動設為 1,所以平是看到的情況是 TXIF 一直都是在 1 的狀態。也就是說只要 TXIF 為 1 ,就可以將 Tx Data 送給 TXREG 傳送了。 以上疑點在此說明一下。
發表於: 2010/1/12 9:51
|
|||
|
Re: PIC16F877A UART
|
||||
---|---|---|---|---|
版主
|
參照:
當然是有訊號送出去不然終端機怎會顯示,問題是 UART 用示波器量TxD,程式執行一次送了幾筆資料出去?
發表於: 2010/1/12 9:36
|
|||
|
Re: PIC16F877A UART
|
||||
---|---|---|---|---|
資深會員
|
PIR1,TXIF=1後,是不是應該要手動清為0...
發表於: 2010/1/12 9:28
|
|||
|
Re: PIC16F877A UART
|
||||
---|---|---|---|---|
高級會員
|
Tx的確一直有送訊號出去...
發表於: 2010/1/11 18:13
|
|||
|