c语言串口通讯过程?

Python014

c语言串口通讯过程?,第1张

分接收端和发送端。

接收端:

1·打开com1端口

fd=fopen("/dev/ttys0",方式)

2·取得当前串口值,保存到结构体变量oldtio

tcgetattr(fd,&oldtio)

3·串口结构体变量newtio清0.

bzero(&newtio,sizeof(newtio))

4·设置串口参数

主要设置比特率、是否忽略奇偶校验错误,启用正规模式等等。

接收端

1·打开com端口

2·取得当前串口值

3·串口结构体变量清0

4·设置串口参数。

编程原理

程序1为查询通信方式接口程序,为一典型的数据采集例程。其中bioscom()函数初始化COM1(此函数实际调用BIOS

INT

14H中断0号功能)。这样在程序中就避免了具体设置波特率因子等繁琐工作,只需直接访问发送/接收寄存器(3F8H)和线路状态寄存

void

Send_Byte(uchar

i)

{

WDI

=

~WDI

TI

=

0

SBUF

=

i

while(TI==0)

WDI

=

~WDI

TI

=

0

}

void

Send_String(uchar

*string)

{

while(*string!=0)

{

Send_Byte(*string)

string

++

}

}

void

Com_A_Int()

interrupt

4

{

uchar

idata

status

status

=

SBUF

RI

=

0

if

(status

==

0x02)

Send_String("HELLO")

if

(status

==

0x55)

Send_String("THIS

IS

A

WELL

BEGIN!")

}

这是串口中断程序,其他的你可以自己根据实际情况编写