PIC单片机与PC机异步串行通信的设计
(2)MSComm属性
MSComm属性很多,其重要的属性说明如下:
①CommPort:设定或返回通信端口号。端口号由1开始往上递增,最大值是16。
②Settings:设定通信端口初始化参数。其格式为“Baud,P,D,S”,其中Baud为波特率, 可设为1200、2400、9600、14400、19200和28800等几种;P为校验位(E表示偶校验、O表示奇校验、M表示符号校验(即在校验位放置一个1的位)、S表示空白校验(即在校验位放置一个0的位)、N表示无校验位(默认值));D为数据位数,可选值为4、5、6、7、8(默认值);S 表示停止位数,可选值为1、1.5、2。
③PortOpen:设定并返回通信端口的状态。
使用串行端口之前必须先打开该端口(PortOpen=True),而在使用完毕后必须关闭该端口(PortOpen=False)。
④Input:从输入缓冲区返回并清除字符。这是一种FIFO(FirstinFirstOut)机制。如Buffer$=MSComm1.Input,表示将输入缓冲区的字符读入Buffer字符串变量中。
⑤Output:将一个字符或字符串写入传输缓冲区,如MSComm1.Output=“ABCD”。此即将ABCD4个字符通过串行端口传送出去。
⑥InBufferCount:传回在接收缓冲区中的字符数,是指已接收,并在接收缓冲区等待读取的字符数。
⑦InputMode:设定和返回类型。该属性设为0时,数据通过Input属性以文本方式取回,如设为1,则数据通过Input属性以二进制方式取回。
结论
利用PIC16C711的外部中断输入引脚RB0/INT接收数据,避免了查询法带来的耗费大量系统资源的缺点。PIC系列单片机执行指令的速度快,提高了系统效率。PIC16C711内部无硬件UART,本文用软件模拟它与PC之间的串行异步通信,从而降低了硬件成本。VB具备MSComm(电话盒)控件,实现串行通信非常方便。
评论