推 lion21:你pc用什麼傳? 08/11 20:22
→ deo2000:VB6 MSC.Output = Txt_Tx.Text 08/11 20:32
→ deo2000:難道是PC端出了問題嗎?? 因為我照Wolflord說的做也沒改善 08/11 20:33
推 lion21:vb6 請用binary方式.需要用陣列方式傳輸.不好搞 08/11 21:20
→ lion21:建議你用 專用於測試終端機程式 可以直接傳 binary 08/11 21:21
推 ksmrt0123:應該是race condition. 試看看多宣告一組 b[2], 在 for 08/11 23:35
→ ksmrt0123:迴圈中增加 b[i]=rxQ[i]; 後面的rxQ[rix]都改為b[i] 08/11 23:36
→ ksmrt0123:最後也改為 P1=~(b[0]<<4|b[1]); 08/11 23:37
謝啦! 的確可以!
是因為不可預期時間中斷造成的 race 嗎?
※ 編輯: deo2000 來自: 140.122.167.217 (08/12 00:22)
推 ksmrt0123:嗯~ 發生中斷後讓主程式讀到不一致(inconsistent)的資料 08/12 21:52
推 WolfLord:其實,9600 uart的速度大多數應用根本沒有作isr的需求 08/12 22:13
→ WolfLord:isr的運用觀念你可以看作是一個cpu切成兩個或三個,卻共 08/12 22:15
→ WolfLord:用一套硬體資源與一起競爭cpu的運算能力(時間) 08/12 22:16
→ WolfLord:所以,在運用尚要考慮的問題會成次方的長出來。 08/12 22:17
→ WolfLord:結果反而導致可靠度的下降,因此進行微系統設計時,最好 08/12 22:19
→ WolfLord:先進行資源與處理機時間分割以及行程規劃,不要像在PC寫 08/12 22:20
→ WolfLord:程式一般的隨性想到就加進去。因為PC了資源豐富外還有 08/12 22:20
→ WolfLord:高階作業系統在寵愛你,不管你幹了什麼不自覺得蠢事,只 08/12 22:21
→ WolfLord:要PC資源還吃得下去,作業系統都會盡量包容你。但是直接 08/12 22:22
→ WolfLord:操控微處理機的狀況下,你邏輯錯誤或發生成事干涉,微處 08/12 22:23
→ WolfLord:理機都只會呆呆往前衝:就像Asimov筆下早期機器一樣憨直 08/12 22:25