单片机向vb的串口控件mscomm发送字节时一次性能发多少字节?有限制吗?

2024-12-02 11:43:27
推荐回答(2个)
回答1:

单片机 向 vb 串口控件mscomm 发送 字节, 每次只能发送一个字节,可以连续发送。
vb 串口控件mscomm 每次接收到 一个字节数据 会产生一次中断,
中断服务程序 可以 将 数据 存放入接收 缓冲区 ,根据通讯协议再处理 指令 或者 数据,
发送 同样 是 一个字节 一个字节 的发送。
因为 每条指令 一般需要 包含 多个字节,所以需要设置 接收 和 发送缓冲区。
这样 连续 的发送,就相当 发送 一个 数据包,至于一次性连续发送多少字节 根据协议而定。
只要 协议允许,不然数据就会出错。

回答2:

没有限制。
如果你要发送的数据量比较大,则要将发送缓冲区设置得足够大,否则可能出现数据丢失的情况。
因为串口在发送时,是需要一定的时间的,发送一个字节的时间与波特率有关,如9600波特率,发送一个字节大约1ms,而VB执行速度很快,与这个发送速度相比几乎是瞬时的。
最好能在每将一个字节数放到OUTPUT时,即语句MSComm1.Output = OutByte后,延时1m或2ms(指9600波特率,其他波特率时间适当修改),这样就很可靠了。