Re: RS232接收問題
|
||||
---|---|---|---|---|
資深會員
|
有沒有去看過對應你那一顆PIC那一個硬體版本的勘誤表?
說不定是那一版的有問題 我之前就遇到 找兩天找不出問題出在哪 結果才發現是我用的那一版PIC整批都有問題
發表於: 2007/1/9 18:36
|
|||
木亟缶夬金戔
彳艮缶夬金戔 走召缶夬金戔 |
||||
|
Re: RS232接收問題
|
||||
---|---|---|---|---|
資深會員
|
在主程式加入
movfw fsr movwf fsr_temp 再試試目,看 備份下的 fsr_temp 是不是和原來的 fsr 一樣 或著直接將 fsr 顯示在 lcd 或 led 上觀察
發表於: 2007/1/9 16:03
|
|||
|
Re: RS232接收問題
|
||||
---|---|---|---|---|
高級會員
|
;*************************************
已改 不過還沒改之前 我就猜應該是沒甚麼幫助 結果測試之後還真的沒用 因為 我的中斷 是當另一顆晶片有傳資料給我時 才會去觸發它 不過 我現在的測試都是沒傳資料給PIC 單純看FSR的變化 現在的問題在於 我按暫停時看FSR都會變成0x41 沒觸發到中斷應該會是0x40 怎麼會自動幫我加1呢 我的自動加1程式是在中斷裡面才會執行的 所以 想請教是不是使用ICD2才會發生這種情形 或者是 其他問題
發表於: 2007/1/9 15:50
|
|||
|
Re: RS232接收問題
|
||||
---|---|---|---|---|
資深會員
|
沒完整看完
不過有兩個重大問題 你進入中斷後沒有備份W暫存器跟STATUS暫存器 進入中斷後你會動到W跟STATUS暫存器 如果你離開中斷後有繼續操作這兩個暫存器 整個程式就會出問題 正常來說一進入中斷要馬上備份這兩個 (最常使用到的暫存器) 離開中斷前回存 你先修正這兩個問題吧
發表於: 2007/1/9 13:08
|
|||
木亟缶夬金戔
彳艮缶夬金戔 走召缶夬金戔 |
||||
|
Re: RS232接收問題
|
||||
---|---|---|---|---|
高級會員
|
;*************************************
PIN1-PIN8 + PERIOD IO控制+延遲 GET_DATA 把0X40-0X49裡的值 搬到我指定的暫存器 中斷就只是負責接收資料而已 麻煩看哪裡有問題
發表於: 2007/1/9 12:47
|
|||
|
Re: RS232接收問題
|
||||
---|---|---|---|---|
資深會員
|
你還是把那一部份的程式碼貼上來吧...
這樣比較容易找到問題
發表於: 2007/1/9 8:35
|
|||
木亟缶夬金戔
彳艮缶夬金戔 走召缶夬金戔 |
||||
|
Re: RS232接收問題
|
||||
---|---|---|---|---|
高級會員
|
參照:
加了 MOVF RCREG,W 這一行之後 還是會放在第二格位置 之後做了小小的測試 讓PIC自行運作 另一顆晶片不傳資料給PIC 假設一開始FSR 設 0X20 當按停止之後去看FSR暫存器 FSR 變成 0X21 又搜尋到之前的這一篇 http://www.microchip.com.tw/modules/n ... 288&forum=1#forumpost5097 不知道是不是FSR經過程式的執行之後被改掉了 還是用ICD2做DEBUG時會出現的問題??
發表於: 2007/1/8 21:07
|
|||
|
Re: RS232接收問題
|
||||
---|---|---|---|---|
資深會員
|
你開始接收前有沒有先清除接收暫存器?
有可能是開始接收前接收中斷旗標RCIF就是1 這時一開始接收就發生中斷 把RCREG裡的錯誤資料丟進去你的暫存器 因此正確的資料都會往後延一格 所以我在打開接收中斷開始接收前都會先執行 MOVF RCREG,W 強制把RCIF清為0 這樣就會正確了 試試吧~
發表於: 2007/1/8 8:46
|
|||
木亟缶夬金戔
彳艮缶夬金戔 走召缶夬金戔 |
||||
|
RS232接收問題
|
||||
---|---|---|---|---|
高級會員
|
當晶片(不是PIC系列晶片) 連續傳送10筆資料給PIC 利用RS232傳輸
使用PIC88做為接收端 利用FSR連續存10筆資料 假設暫存器從0X20到0X2A 結果發生 第一筆資料都會從0X21開始放 而不是放在0X20 兩邊晶片鮑率和基本設定都無誤 奇怪的是 有時會放對位置 基本上 錯誤的機率很高 收的到旦放錯位置 大概是哪邊的問題??
發表於: 2007/1/8 2:29
|
|||
|