作者Deltaguita (贝纳颂)
看板Visual_Basic
标题Fw: [问题] 8051与VB通讯的资料去回不同
时间Wed Mar 7 16:07:20 2012
※ [本文转录自 Electronics 看板 #1FLnNG6Z ]
作者: Deltaguita (贝纳颂) 看板: Electronics
标题: [问题] 8051与VB通讯的资料去回不同
时间: Wed Mar 7 16:01:17 2012
请教一下各位前辈
小弟正在弄一个透过VB2010(PC)-RS232-8051 资料去回的实习
以便将来我监控资料
目前可以用VB把资料传过去,也可以把资料传回来
可是传过去的资料没有办法正确的传回来
例如我传送1 回来是g(113)
传送2 回来是r(114)
b 194
c 195
可以请问 问题是出在哪个环节吗?
300P币答谢!
VB CODE:
********************变数定义****************************
Dim i As Integer
Dim aa As Integer = 0
Dim send_data As String
Dim input As Integer = 0
Dim receive_data As String
Dim Ctr As Control
Dim BRx(256) As char
*********************************************************
receive
*********************************************************
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Timer1.Tick
For Me.i = 0 To 255 'BRX CLEAR
BRx(i) = 0
Next
receive_data = SerialPort1.BytesToRead
If receive_data = 0 Then Exit Sub
If receive_data > 256 Then
receive_data = 256
End If
For Me.j = 1 To receive_data
BRx(input) = SerialPort1.ReadByte
aa = BRx(input)
txt_receive.Text = txt_receive.Text & Chr(BRx(input))
input = input + 1
Next
input = 0
Timer1.Enabled = False
For Me.i = 0 To 255
BRx(i) = 0
Next
Timer1.Interval = 500
Timer1.Enabled = True
***********************************************************************
*******************************SEND************************************
Private Sub send_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles send.Click
send_data = 0
For Me.i = 0 To Len(txtSend.Text) - 1
send_data = Mid(txtSend.Text, 1 + i, 1)
Me.SerialPort1.Write(send_data)
Call delay(90000)
Next i
End Sub
8051 CODE
/*------------------------------------------------
串口中断程式
------------------------------------------------*/
void UART_SER (void) interrupt 4 //串列中断服务程式
{
unsigned char Temp; //定义临时变数
if(RI) //判断是接收中断产生
{
RI=0; //标志位元清零
Temp=SBUF; //读入缓冲区的值
P1=Temp; //把值输出到P1口,用於观察
SBUF=Temp; //把接收到的值再发回电脑端
}
if(TI) //如果是发送标志位元,清零
TI=0;
}
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 60.251.222.115
※ 发信站: 批踢踢实业坊(ptt.cc)
※ 转录者: Deltaguita (60.251.222.115), 时间: 03/07/2012 16:07:20
※ 编辑: Deltaguita 来自: 60.251.222.115 (03/07 16:08)
※ 编辑: Deltaguita 来自: 60.251.222.115 (03/07 16:12)
※ 编辑: Deltaguita 来自: 60.251.222.115 (03/07 16:16)