線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2801
推到 Plurk!
推到 Facebook!

利用MCU的HW UART來接收PC RS232 COM PORT DATA

答題得分者是:lishang83
kentlee
一般會員


發表:1
回覆:3
積分:0
註冊:2007-07-18

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-07-18 19:54:50 IP:61.222.xxx.xxx 訂閱
小弟最近遇到一個問題請教各位大大:

最近利用MCU的硬體UART中斷來接收 PC的RS232DATA發生一個很奇怪的問題

以下是我的電路流程:

PC <===> RS232 to RS485 conveter <===> 485 IC <====> MCU UART

我使用中斷UART來接收PC的DATA
1. 當我RS232 to RS485 conveter 未接上我的系統都能正常動作(即PC沒傳DATA)
2. 我本身PC開始傳送DATA,我的系統都能以DATA正常動作(亦收到正確的DATA)

3. 可是利用NB時,當RS232 to RS485 conveter 接上時(此時PC RS232未傳送DATA),
RS232 to RS485 conveter <===> 485 IC 此端會一直收到一個LOW的DATA (大需20~30M SEC 會發生)
使得MCU一直發生中斷,變得系統當機。(我嘗試用了3台NB,其中2台有此現象)

不知道為什麼他會一直傳LOW的DATA呢???

4. 可是當RS232 to RS485 conveter 接上時並做CONNECT 傳送DATA,
系統亦能以DATA動作



因為一直是LOW (即0X00),所以小弟我收到0X00時先把UART CLOSED
過有5M SEC 後 再將其UART OPEN,這樣變成說有時會造成PC的DATA會漏接DATA


各位大大不知道有沒有遇到此現象呢??
如果你們是怎麼解決的呢??




編輯記錄
 重新編輯於 2007-07-18 21:58:21, 註解 修改分類‧
lishang83
初階會員


發表:12
回覆:44
積分:31
註冊:2005-07-30

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-07-20 18:35:14 IP:123.52.xxx.xxx 訂閱
你的485模块是串口取电吗?可能nb串口供电不足的原因.
------

☆☆ 网事如潮人如水,只叹世间人几回。 ☆☆

版主


發表:261
回覆:2302
積分:1667
註冊:2005-01-04

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-07-20 20:10:16 IP:219.70.xxx.xxx 未訂閱
信號一直是 Hi 或 Lo 不可能會收到 Data(沒有start bit & stop bit)
應該是準位或 baud rate 有問題.
------
-------------------------------------------------------------------------
走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!?
kentlee
一般會員


發表:1
回覆:3
積分:0
註冊:2007-07-18

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-07-21 14:08:31 IP:61.222.xxx.xxx 訂閱
THX
我已經解決了
因為我用是示波器去量UART RX與485 IC的RE/DE 發現兩個訊號卻同步
於是我兩動作之間加入DEALY TIME 發現有衣樣情況

我猜應該是485與MCU的電氣問題
於是將PULL HIGH電阻拿掉 就沒有此現象了
系統時間:2024-05-11 21:02:43
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!