看板 Electronics 關於我們 聯絡資訊
※ 引述《fmdjyl (小D(滴))》之銘言: : ※ 引述《mosquito520 (賣頻寬控制分享器)》之銘言: : : 那... : : 為什麼不把8051這端寫的簡單一點... : : 直接把收到的東西傳出去... : : 這樣在PC端直接看不就好了? : : 或是在8051這端加個LCD... : : 用這個來看收到的資料正不正確... : : 這個部分是檢查用的演算法... : : 利用塞入多餘的檢查位元... : : 例如偶同位或是奇同位等等的... : : 有錯的話還請指正... : 你好~~ : 之前我已經寫好了..pc端傳資料給8051接收~再直接傳回電腦~~ : 只是現在故意讓51來做判別!!! : 因為傳資料時難保保證接收到的資料一定是正確的!!! : 為了能確定接收到資料的正確性~才故意讓51來做判別!!! : 故意讓pc先傳資料給8051~當接收到資料判別是否是我要的資料~ : 如果是就再傳回8051~~如果否就等到有正確資料再傳~~ : 這個題目演練是指導人出的思考題~~由於以前沒學過c對51的觀念也不好!! : 所以想了一整天也想不出~~ : ps:不過指導人說是很簡單的題目~~ (不過我買了兩本keilc的書也找不出方法) : 只好上網請求指導了!!! : ps2:我目前想到的是...先叫51把收到的資料先到到BUFFER裡面 : 只是收到的是 02,41,30,31,2F,2F,03,70,04 : 我要如何把他們分開判別呢!!!! : ps3:我明白軟體是靠自己~~但憑空想像實在有點困難~~ : 找不到相關範例實在難以想出答案~~ : 現在的我就如同叫沒學過軟體的小學生一樣~ : 現在拿個題目給小學生~我想他也答不出 >< 提供想法給你參考 我先簡單程式你要的功能 首先 PC以RS-232 Port 傳送 9Bytes 資料給予 8051 此時8051必須有判斷這9個Bytes 是否為這9個Bytes 是這樣嗎?? 我的想法是 你的要求也許沒有說的很清楚喔 疑點一 8051 當接收資料時 是否已經知道PC要傳的資料為那9個Byte 疑點二 8051的判斷模式 是1個Byte 1個Byte 逐步檢查 還是先接收9個Bytes後 才慢慢檢查 1. 如果 8051已經知道 PC要傳的9個Byte是啥資料 那你就先 把這九個Byte 所代表的數值 放入 8051的暫存器 當然 你可以用最基本的 mov 也可以使用 table的方式 至於判斷方法 我想 應該不需要多說.......... 2. 如果8051在pc傳送之前並不知道這9個Byte是啥 那就必須用稍為麻煩的寫法 因為8051不知道 它接收到的資料是否有錯誤?? 但是這還是可以解決的 好比之前回po的網友說低 以基同位 偶同位 檢查的方式 來做檢測 但是以這樣的方法會有所缺失 因為這僅只能檢測基數的錯誤 如果連兩個BYTE都錯 那並不會被檢測出來........ 取而代之的可以用CRC錯誤檢測機制 來執行撰寫 類似演算法的東西 這就可以檢測任何單一 或者許多的錯誤 但缺點不能改錯 再高級點 可以撰寫 錯誤更正技術 不但可以檢測 也可以更正錯誤的發生 但缺點會增加許多不必要的CODE ........ 不知道 這樣解說 你可否了解 ~~~~~~ 如果還有疑問 你可以說清楚點 我在幫你想想看 加油阿~!!.... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.137.139.251
l1l1l1l1:記得漢明碼可以除錯的樣子.... 09/07 02:54