返回信息流【 以下文字转载自 Embedded_System 讨论区 】
发信人: dolphinangel (dolphinangel), 信区: Embedded_System
标 题: [求助]VB实现PC和51单片机串口传输字符串,大家帮忙看看下面的程序
发信站: 北邮人论坛 (Fri May 23 16:42:13 2008), 站内
单片机:
void receivearray()
{
for(n=0;n<5;n++)
{
while(!RI);
RI=0;
r_config[n]=SBUF;
}
}
void int_com(void) interrupt 4 using 3
{
if(RI==1)
{
RI=0;
rchar=SBUF;
}
}
main()
{
while(1)
{
if(rchar=='c') //c算是起始字符
{
rchar=0;
//initial_GLCD(); /*ÇåÆÁ*/
ES=0;
SBUF='c';
while(!TI);
TI=0;
command_GLCD(0x80);
write_GLCD('O');
receivearray();
ES=1;
}
}
VB:
Private Sub Command1_Click()
MSComm1.Output = "c"
Do
DoEvents
Loop Until MSComm1.InBufferCount >= 1
MSComm1.InBufferCount = 0
Call config
End Sub
Private Sub config()
sendconfig(1) = 12
sendconfig(2) = 13
sendconfig(3) = 14
sendconfig(4) = 15
sendconfig(5) =200
MSComm1.OutBufferCount = 0 '清空发送缓冲区
MSComm1.Output = sendconfig() '发送配置数组
Do
DoEvents
Loop Until MSComm1.OutBufferCount = 0
MSComm1.OutBufferCount = 0 '清空发送缓冲区
End Sub
现在问题是调用receivearray(),如果不循环5次,只接受一个,没有问题,可以得到12.但是要接收数组,5个数据,循环5次才对,但是读出的数据全部是0.有哪位达人解释一下VB串口传送字符串给单片机的机制?
急用急用!
这是一条镜像帖。来源:北邮人论坛 / sichuan / #77593同步于 2009/3/31
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Sichuan机器人发帖
[求助]VB实现PC和51单片机串口传输字符串,大家帮忙看看下面的
Zy
2009/3/31镜像同步0 回复
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。