|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
摘要:介绍计算机与单片机串行通信的实现方案,其中计算机接收和发送数枯是用vB6中的MscoMM控件来实现 的.并将接收的敷据保存在数据文中暇备后维娃理;单片礼接牧计算机的数据主要是甩束谩王单片机的工作参教的,单片扭定时向计算机发送一定的数据,主要是单片机产生的数据或由单片机检测的教据,用汇编语言缟程。3 K1 `; A8 D6 h, }+ x4 w
. b4 ~0 m# n5 P& B串行通信在自动控制数据采集、网络通信等方面有着广泛的应用,下面就以具体的实例介绍计算机与单片机之间的串行通信的实现方案。
% Z0 G+ C+ t$ i. ~- a8 w↑基于VB6的串行通信1.2
, m- q. X+ Z2 y( t/ p& i1.1 VB6串行通信的基础知识. }# o6 g f% L1 [, I
1.1.1用VB实现串行通信的方法& r% C# [# U0 c3 x9 L* I. X
1)申行通信控件。Microft comm. Control 6.0(MSComm);. w# N0 Y0 V* B" ?: b2 I' p
2)应用程序接口。Windows API。采用串行通信控件MSComm实现。
0 E4 h. ?9 }. ?9 ~) b1.1.2用VB实现串行通信的方式) f* V! u+ A9 [8 v
1)事件驱动方式。利用MSCom控件检查CommEvent事件属性值(包括通信错误和通信事件),当MSComm控件属性值与CommEvent事件属性值相同时产生Oncomm事件,然后执行相应程序,按照事件程序区中的程序实现数据的接收和发送或者数据的保存等处理;本文利用MSComm'的属性设置引发Onconm事件实现数据接收。数据发送是通过Click事件进行的。
9 R; B: A" I5 O2)程序查询方式。程序通过查询CommEvent的某一属性的值(包括通信错误值和通信事件值)来确定是否进行数据接收和发送。! a0 ?, ~3 \# G" c: O) l5 Q; s
1.1.3 MSComm控件属性
2 I7 h9 K8 K G- r* a1) Corumport。设置并返回通信端口号。有效端口号为1到16的任何整数.必须在打开端口前设置Commport属性。设置方法:Object. Commport=l" a8 r& P3 A" F3 s
2) Sttings.设置并返回波特率、奇偶校验.数据位和停止位参数。波特率:一般取110.300.600、1200.2400.9600、14400、19200,28800.38400等;奇偶校验:E -偶校验.0-奇校验.N-无校验;数据位数:4.5.6.7.8;停止位数:1.1.5.2。设置格式: Objetsttings = 9600.N,8,1- R- n" \+ C" v7 g; P9 m" S+ A
3) InputMode。设置和返回Input属性取回的数据类型。lnputMode 设为comInputModeText时,取回数据的格式为字符申,设为comlnputModeBinary时,取回数据的格式为-一个二进制数据的数组。
9 Q6 [$ V' n' t$ d. a: @! Z4) Rthreshold。设置并返回要接收的字符数。Rthreshold设为0时,不产生Oncomm事件.设为-一个整数时,接收缓冲区每收到这一-整数个字符都会产生Oncomm事件。2 \# H0 b* X8 D; C3 L! [) a! t
5) Sthreshold。设置并返回传输缓冲区中允许最小字符数。Sthreshold属性为0时,数据传输事件不会产生Oncomm事件;如果Sthreshold属性为6,当在输出队列中字符数从6降到5时,产生,Oncomm事件。. v3 O3 ^4 M3 D; l" n+ k4 _
6) Inputlen。设置并返回Input属性接收缓冲区读取的字符数。, n$ l$ u1 ~! {# k4 Y
; L8 J, l- l5 F
l- G3 m9 [0 S) C! ^/ K
9 L9 X8 F# c- O8 w, a4 x6 n: f: V4 h
1 r* |4 N$ d4 b% C7 W7 i. {
" z' ~) |- ~ Q( T6 K
; t; V* h/ U3 i7 t+ a: w% [& @/ j |
|