BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / sichuan / #77593同步于 2009/3/31
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Sichuan机器人发帖

[求助]VB实现PC和51单片机串口传输字符串,大家帮忙看看下面的

Zy
2009/3/31镜像同步0 回复
【 以下文字转载自 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(); /*&Ccedil;&aring;&AElig;&Aacute;*/ 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串口传送字符串给单片机的机制? 急用急用!
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。