vb程序编写模拟串口

vb程序编写模拟串口,第1张

这是典型的VB串口通信

你可以采用Mscomm控件实现串口通信时,首先添加一Mscomm控件到窗体中,通过菜单项“工程(P)→部件(O)”进入选择窗口,在控件页中选取“Microsoft Comm Control 60” ,此时工具窗口中出现Mscomm图标,即可被使用。

需要注意的几点是:

1用mscomm控件进行通信,其波特率最高只能设为115200

2利用MSCOMM控件可以发送和接收任何文件的类型。

3接收文本文件和二进制文件有一定的区别,接收二进制文件时用scomm1Input读入的变量需用Variant类型的变量,而文本文件可以用字符型变量,另外InputMode属性应设置相应的文本方式或二进制方式

4接收文本无大小限制。

5当连续存数据时记录号是自动加的,但当文件关闭后再次打开时,默认的记录号为1,存储文件不完整的原因可能在此。接收到文件头识别字符时打开文件,接收中途不要关闭文件,直到接收到文件结束符(Mscomm1EOFEnable事件发生)才能关闭文件。

我手头有一个完整的VB串口通信源码,对你的问题很有帮助

若你需要,发邮件至donook@qqcom

我会尽快发给你

如果满意,加点分哦,资料都来之不易的呵呵

len=safearray_inpGetOneDimSize(); //得到有效的数据长度

for(k=0;k<len;k++)

safearray_inpGetElement(&k,rxdata+k);

这里有问题,你想一下,假如你的数据很多,超出了你的rxdata容量(rxdata只有512字节),这里就会把栈写坏了嘛,这里拿到了len后要做一下判断,不能直接safearray_inpGetElement(&k,rxdata+k);

如果与电脑连接的话,直接用单片机通过max232与电脑连接就行啦

如果用485,电脑端、单片机都要加个485芯片转成485才能通信

电路图如图,

把其中一端改成电脑并加个232转485模块就行啦,

单片机端程序

#include <reg51h>

#define uchar unsigned char

sbit sendkey=P2^0;

unsigned char tempy;

void init(void)//串口初始化

{

TMOD=0x20;

TH1=0xfd;

TL1=0xfd;

PCON=0x00;

TCON=0x40;

TR1=1;

SCON=0x50;

}

void main()

{

init();

while(1)

{

//------------------

//485接收字符

sendkey=0;

while(RI==0);

tempy=SBUF;

RI=0;

//------------------

//485发送字符

sendkey=1;

SBUF=tempy;

while(TI==0);TI=0;

//-------------------

}

}

好好检查下你的硬件

程序我没有改

运行效果见图

晶振110592MHz

以上就是关于vb程序编写模拟串口全部的内容,包括:vb程序编写模拟串口、VS2008MFC写的一个串口程序、求AT89C52单片机用MAX485与PC机串口通讯程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10108984.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存