Robofun 機器人論壇

標題: 請教vb與51之間怎麼用rs232通訊 [打印本頁]

作者: q023057866    時間: 2012-3-30 20:57
標題: 請教vb與51之間怎麼用rs232通訊
我已經弄了快一個禮拜了,我只是想先知道兩者的通訊,找的資料都太難太複雜,我的電路是照碁峰出版的"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的訊號。
謝謝。
作者: mzw2008    時間: 2012-4-1 23:59
51 出來的UART  要先轉COM或是USB然後接到電腦
且電腦的控制台是否有看到COM 3  <--- 你VB程式使用COM3
測訊號可使用ACCESS PORT 這個程式
不然超級終端機也行
作者: Curtiss    時間: 2012-4-5 21:24
要測試電腦的RS232是否正常,可以將 TX 及 RX 接在一起,由電腦送出字串,看看是否可以收到相同的字串。




歡迎光臨 Robofun 機器人論壇 (https://robofun.net/forum/) Powered by Discuz! X3.2