Robofun 機器人論壇

 找回密碼
 申請會員
搜索
熱搜: 活動 交友 discuz
查看: 8758|回復: 2
打印 上一主題 下一主題

請教vb與51之間怎麼用rs232通訊

[複製鏈接]
跳轉到指定樓層
1#
發表於 2012-3-30 20:57:52 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
我已經弄了快一個禮拜了,我只是想先知道兩者的通訊,找的資料都太難太複雜,我的電路是照碁峰出版的"8051單晶片C語言設計"作者楊豐明,就是RS232輸出透過MAX232給8051,跟網路找的到的一樣只是電容值我用22uF,可是都沒有訊號,我的程式架構就只是VB發出RS232,8051接收到後用P1顯示,
-------------------------------------8051程式碼------------------------------------------
#include "reg51.h"
main()
{
int key;
TMOD = 0x20; //計時器T1於模式2
SCON=0X50;   //串列傳輸1,REN=1開啟接收
TH1=253; /*256-(28800/9600)=253鮑率9600*/
TL1=253;
TR1=1; //啟動TIMER1
while(1)
{
  RI=0;  //清除接收旗標
while(RI==0) //RI=0,資料未備妥
;    //繼續偵測RI
TI=0;  //接收旗標歸零
while(TI==0) //TI=0,接收未備妥
;    //等待接收旗標
key=SBUF; //RI=1,讀取SBUF
P1=key; //資料搬移至P1
}
}
---------------------VB6.0程式碼----------------------------------
Private Sub Command1_Click()
MSComm1.Output = Text1.Text '將文字欄的字串送出
End Sub

Private Sub Command3_Click()
MSComm1.PortOpen = False '關掉通訊埠
End Sub
Private Sub Form_Load()
MSComm1.CommPort = 3  'COM PORT 3
MSComm1.Settings = "9600,n,8,1" '資料格式設定
MSComm1.PortOpen = True  '打開通訊埠
End Sub
------------------------------------------------------------------------------------
請問程式碼這樣有問題嗎??
另外有什麼方式可以測試電腦有發出232的訊號。
謝謝。
2#
發表於 2012-4-1 23:59:16 | 只看該作者
51 出來的UART  要先轉COM或是USB然後接到電腦
且電腦的控制台是否有看到COM 3  <--- 你VB程式使用COM3
測訊號可使用ACCESS PORT 這個程式
不然超級終端機也行
3#
發表於 2012-4-5 21:24:00 | 只看該作者
要測試電腦的RS232是否正常,可以將 TX 及 RX 接在一起,由電腦送出字串,看看是否可以收到相同的字串。
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

小黑屋|手機版|Archiver|機器人論壇 from 2005.07

GMT+8, 2024-12-4 00:44 , Processed in 0.246216 second(s), 7 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表