单片机无法使用 mscomm 控件吧,PC 可以
PC的话:
1.要确定你的仪器支持串口通讯,仪器上的 DB9 接口不一定用于串口通讯。
2.要了解你的仪器的通讯传输协议,写程序时 mscomm 控件的相应属性必须一一对应。
最基本包括:波特率,奇偶校验,数据位,停止位(例如:9600,n,8,1);如果仪器要求硬握手的话(旧款仪器)情况会更复杂些。
3.要了解你的仪器的传输方式:(文本/ 二进制)编写代码时要分别对待
4..要了解你的仪器的命令传输格式,(你具体要发送什么过去,它具体要做什么)通过仪器的相关文档,或用专用的监测软件得到。
5.用 mscomm 控件控制串口收发,要注意流程控制,防止传输冲突(主要是未收完就发,导致收到的结果不完整)。
单片机的话:
6.通过 Max232 做硬件接口
7.控制好 波特率,数据位
PCON = 0x00; //0000 0000 SMOD=0
SCON = 0x50; //0101 0000 SM0=0; SM1=1; REN=1 // 发送/接收
TMOD = 0x20; //TMOD: timer 1, mode 2, 8-bit reload
TH1 = 0xFD; //T1 装入初值(11.0592Mz, 9600bps)
TL1 = 0xFD; //T1 装入初值(11.0592Mz, 9600bps)
TR1 = 1; //启动 timer 1 定时器
EA = 1; //允许总中断;
ES = 1; //允许串口中断;
vb6是用mscomm控件控制串口收发命来控制串口设备,你通过单片机串口收发指令与计算机的串口是一样的。
首先仪器要是通过串口能控制的。关于vb6的mscomm的使用方法可以查阅vb6的MSDN或上网查找相关资料。
可以用MSCOMM控件进行RS232串口通信。单片机也可以。不过单片机需要TTL转RS232的接口芯片或者电路。