高手指点一下,上位机为何收不到数据?
下位机部分:(ADuC824是51内核)
#include <ADuC824.h>
sbit P3_4=P3^4;
#define Uchar unsigned char
#define Uint unsigned int
Uint i;
void main(void)
{
Uchar k = '5';
TMOD=0x20; /*8wei changshu zidong zhuangzai dinshi qi*/
TH1=0xfd; /*11.0592MHZ*/
PCON=0x00; /*botelv:SMOD=0 */
TR1=1; /*qidong jishu*/
SCON=0x52;
P3_4=1; /*信号灯*/
ES=1; /*chuankou kai zhongduan*/
EA=1; /*cpu kai zhongduan */
SBUF=k;
while(1){};
}
void ssio(void) interrupt 4 using 1
{
Uchar a;
Uchar b;
a='5';
P3_4=0;
TI=0;
RI=0;
ES=0;
b=SBUF; /*关串口中断*/
for(i=0;i <10000;i++){}
P3_4=1;
ES=1;
}
上位机部分:(VB)
Private Sub Command1_Click()
Dim b As String
MSComm1.PortOpen = True
b = MSComm1.Input
Text1.Text = CStr(b)
MSComm1.PortOpen = False
End Sub
Private Sub Command2_Click()
Dim c As String
MSComm1.PortOpen = True
c = Text1.Text
MSComm1.Output = c
MSComm1.PortOpen = False
End Sub
Private Sub MSComm1_OnComm()
MSComm1.CommPort = 1
' 9600 波特,无奇偶校验,8 位数据,一个停止位。
MSComm1.Settings = "9600,N,8,1"
' 当输入占用时,
' 告诉控件读入整个缓冲区。
MSComm1.InputLen = 0
' 打开端口。
MSComm1.InBufferCount = 0 '数据传输区清零
MSComm1.OutBufferCount = 0 '数据传输区清零
End Sub
发表时间:2003年4月25日10:45:28