如何使用VB向单片机发送2字节数据?

来源:百度知道 编辑:UC知道 时间:2024/06/03 16:34:30
如何使用VB向单片机发送2字节数据?会不会PC发送数据过快,单片机没能读取又发第二个数据,导致第一个数据被覆盖?

dim buf(1) as byte
buf(0)=1
buf(1)=2
mscomm1.output=buf

有缓冲区的,一般出现这种情况的可能性不大

单片机串口一般有一定的缓冲区,出现这样的问题的可能性不大。
不过双方一定要有一个合理的通讯协议,确保通讯的可靠性。例如单片机可以在收到数据后给一个应答,让PC知道它收到了

这不是很简单啊 ,不就是发送2字节数据吗,有文本框不就OK了啊,想发多少就发多少,这个速度啊,你用中断不就可以了啊,不会覆盖数据的,

vb发送2字节数据要一个字节一个字节发的,中间要加延时的,因为8051单片机是8位的,只能一个字节一个字节接受数据。

串口通信不是有检验么?通信应答,就可以保证数据传输准确性

给你一个例程

/**************************************
函数功能:
用串口调试助手向单片机发送三个数据
如果是123单片机回应Right!否则回应Wrong!
发送时用16进制
***************************************/
#include<reg52.h>
#include<absacc.h>

/*******************************
全局变量定义区
********************************/

unsigned char RR = 0; //收数指针
unsigned char TT = 0; //发数指针
unsigned char *SDat;
unsigned char Disbuf[] = {0,0,0,0x0a}; //存放欲显示的数据
unsigned char Hello[] = {'H','e','l','l','o','!','\n