当前位置:首页> 正文

c语言控制电脑串口(c语言串口通信编程)

c语言控制电脑串口(c语言串口通信编程)

1. c语言串口通信编程

串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通信的端口,这些参数必须匹配。串行通信a,波特率:这是一个衡量符号传输速率的参数。指的是信号被调制以后在单位时间内的变化,即单位时间内载波参数变化的次数,如每秒钟传送240个字符,而每个字符格式包含10位(1个起始位,1个停止位,8个数据位),这时的波特率为240Bd,比特率为10位*240个/秒=2400bps。一般调制速率大于波特率,比如曼彻斯特编码)。

通常电话线的波特率为14400,28800和36600。波特率可以远远大于这些值,但是波特率和距离成反比。

高波特率常常用于放置的很近的仪器间的通信,典型的例子就是GPIB设备的通信。

b,数据位:这是衡量通信中实际数据位的参数。当计算机发送一个信息包,实际的数据往往不会是8位的,标准的值是6、7和8位。如何设置取决于你想传送的信息。比如,标准的ASCII码是0~127(7位)。扩展的ASCII码是0~255(8位)。

如果数据使用简单的文本(标准 ASCII码),那么每个数据包使用7位数据。每个包是指一个字节,包括开始/停止位,数据位和奇偶校验位。由于实际数据位取决于通信协议的选取,术语“包”指任何通信的情况。[1]c,停止位:用于表示单个包的最后一位。典型的值为1,1.5和2位。由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。

因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。

适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。

d,奇偶校验位:在串口通信中一种简单的检错方式。有四种检错方式:

2. c语言串口通信函数

Spcomm串口通信控件的基本属性、方法和事件说明如下:

CommName属性:计算机串口端口号的名字,COM1、COM2……等,在打开串口前,必须填写好此值。

Parity属性:校验位 None、Odd、Even、Mark、Space等。

BaudRate:设定支持串口通信用的波特率9600,4800等,根据实际需要来定,在串口打开后也可更改波特率,实际波特率随之更改。

ByteSize属性:表示一个字节中,使用多少个数据位收发数据,根据具体情况设定5、6、7、8等。

StopBits属性:表示一个字节中,使用停止位的位数,根据具体情况设定1、1.5、2等。

SendDataEmpty属性:布尔属性,为True时表示发送缓存为空,或者发送队列里没有信息;为False时表示表示发送缓存不为空,或者发送队列里有信息。

StartComm方法:用来打开通信串口,开始通信。如果失败,则会导致串行口错误。错误类型大致分为串行口己处于打开状态,所以不能打开串行口,不能创建读写进程,不能建立串行口缓冲区等。

StopComm方法:用来停止通信串行口的所有进程,关闭串口。

WriteCommData(pDataToWrite:PChar;dwSizeofDataToWrite:Word)方法是带有布尔型返回值 的函数,其中参量pDataToWrite是要写入串行口的字符串,dwSizeofDataToWrite是要写入的字符串的长度。该函数通过一个写线程向串行口输出缓冲区发送数据。发送操作将在后台默认执行。如果写线程 PostMessage成功,则返回值是True,若写线程失败,返回值是False。

OnReceiveData(Buffer:Pointer;BufferLength:Word),其中Buffer是指向输入缓冲区的指针。BufferLength是从缓冲区收到的数据长度。当输入缓冲区收到数据时,该事件被触发。当输入缓存有数据时将触发该事件,对从串口收到的数据进行处理。

3. c语言串口协议代码

只有1种。RS-485协议是一个串口协议,只定义传输的电压、阻抗等,不对软件协议给予定义。RS-485协议串行通讯标准是RS232和RS485。

RS-485接口的最大传输距离标准值为4000英尺,实际上可达 3000米(理论上的数据,在实际操作中,极限距离仅达1200米左右),另外RS-232-C接口在总线上只允许连接1个收发器,即单站能力。而RS-485接口在总线上是允许连接多达128个收发器。即具有多站能力,这样用户可以利用单一的RS-485接口方便地建立起设备网络。

4. C语言串口通信编程例子详解

汇编语言,以前是必须要学习的。

但是,在MicroPython出来了之后,汇编成了可选项。特别是你的开发目标,是完成自己的奇思妙想时,更是如此。

一遍情况,下位机的硬件配置比较低,需要在上位机中,开发、测试后,编译成下位机的运行代码,然后写入下位机的存储器中。为了调试,必须学习下位机的汇编语言。

MicroPython出来了之后,直接把python源代码文件,写入下位机存储器。也就无需学习下位机的汇编语言了。

而且,python对串口通信、网络通信的支持非常好。直接调库,方便快捷。

如果是为了节省产品成本,还是要编译成下位机的机器码来运行。但你可以先用MicroPython做原型,确保模型符合设计要求,然后再用c重写一遍。

5. C语言 串口

一、连接交换机和PC

首先,需要先把PC和交换机连接在一起,这样才能进行管理。可网管型交换机都附带一条串口电缆,供网管员进行本地管理。先把串口电缆的一端插在交换机背面的Console口上,同时拧好螺钉,防止接触不良。串口线的另一端插在普通PC的串口上,此时要记住电缆插在COM1还是COM2口上,以后设置会用得着。

二、设置“超级终端”

连接好后,接通交换机和电脑电源并开机。Windows 98/Me/2000都提供“超级终端”服务,如果没有可以在“添加/删除程序”中的“通讯”组内添加。你也可以使用其他符合VTY100(终端的一种标准,现在很少见)标准的终端模拟程序。

在第一次运行“超级终端”时,系统默认为通过Modem连接,会要求用户输入连接的区号,随便输入一个即可。如果你的电脑中没有安装Modem,则会提示“在连接之前必须安装调制解调器,现在就安装吗?”,这里点击[否]按钮。

程序运行之后会提示你建立一个新的连接名称,我们在这里输入“Switch”。

点击[确定]按钮后,会出现一个窗口,要求用户选择连接时使用哪一个端口。这里一定要注意,应该选择你连接的PC串口的序号。如果不太清楚,可以用“串口1”和“串口2”分别试试。

串口号后,点击[确定]按钮,会出现一个COM口属性的窗口,里面有波特率、数据位、奇偶检、停止位、流量控制等参数设置。

这么多参数,如何设置呢?其实不要紧,只要点击一下[还原默认值]按钮,就会调用最保守的参数设置。默认参数在大多数的连接状况下都能适用,这样用户就不必再花费时间研究这些参数了。

设定好连接参数后,程序就会自动执行连接交换机的命令。咦!界面怎么一片空白?不要急,按一下回车键,交换机管理主界面的庐山真面目终于出现了。

从现在开始,你就得忘记鼠标的存在,所有的控制都要通过键盘来实现。不过操作非常简单:用回车键执行命令,用“Tab”键或箭头键在选项中移动,用空格键或键盘字母键、数字键改变某项参数。登录操作系统之前,用户需要输入管理员用户名和密码。大多数设备管理员的默认用户名都以“Admin”、“Super”等有意义的英文单词命名。

有的交换机有初始口令,有的则没有,只要仔细查看交换机使用手册就可以了解这些信息。

6. c串口通信代码

RS-232-C接口(又称EIARS-232-C)是目前最常用的一种串行通讯接口。计算机串口(RS232)共有9个针脚。

RS232接线有两种方法:

1、直连接法

RS232串口线直连接法就是正常的连接:2接2,3接3(即一头的RX与另一头的RX相连,TX与另一头的TX相连)5接5。

2、交叉接法

RS232串口线交叉接法就是交叉连接:2接3、3接2(即一头的RX和另一头的TX相连,TX与另一头的RX相连)5接5。

7. c语言串口程序

串行通信接口的意思。串口有多种,像RS232C,RS485,RS422等 PC上通常所指的串口是电脑后面的9针D型串口,它符合RS232C标准。

单片机上的串口是指RXD,TXD两个串行输入、输出通信接口,是TTL电平的,要想和标准RS232C串口通信需要加一块芯片,比如MAX232C。

PLC也有串口,西门子200带485串口,松下带422串口等

8. c语言串口通信程序

大致过程就是

配置串口通信,包括串口号、波特率、校验位、停止位这些信息;

打开串口,和打开文件一样,在Linux下是这样,Windows下没试过,估计也差不多;

发送数据,即写串口,就跟写文件类似;

读取串口,用read就行。

具体的函数和配置参数可以参考一些别人的代码。

9. C语言串口编程

ctrl+C得Ascii码-->316进制-->0X03所以你用pyserial写个0x03就行了,就相当于发了个ctrl+c

展开全文阅读

相关内容