串行通信是计算机和外设进行通讯、对外设进行监控并获取由外设采集到的监测数据的一个非常重要的手段。由于其所用的传输线少,成本低,实现起来方便易行,因而得到广泛的应用。
以往在Windows平台上的串行通信多使用其提供的API函数来实现,这种方法使用起来需要许多底层设置,因而较为繁琐,且难以理解。本文结合笔者在开发遥感CCD相机控制子系统的过程中对串行通信编程的一些经验,介绍在32 b Windows操作系统下,用VisualC++6.0的ActiveX技术实现PC机与单片机之间串行通信的一些方法。
1 硬件组成
系统中采用80C31单片机作为下位机,PC机为上位机,二者通过RS232串行口接收或上传数据。接线图如图1所示。
由于RS232信号的电平为:
而单片机串口信号电平为TTL电平: