linux串口示例【0912】

 【批注:
 2009-09-18

本文涉及程序有问题,请勿参照,我会于今日将正确可行的程序发上来

最近看了下
linux的串口,发现还是蛮容易的

做一些总结和记录

这篇文章也重在备份和记录,代码都是套用别人的 ,所以基本只是罗列了些代码,但保证代码可用

 

其实串口操作也就那么几步

1.       打开串口

2.       设置参数

3.       发送接收

4.       按需关闭

而根据函式提供的形式,

一般设置参数分两步进行【其实就是那么配置下,分几步都行,只是配合后面的代码了】

[1]设置波特率

[2]设置数据格式

下面还是罗列一些代码

打开串口

Code

O_RDWR就是可读写的意思
设置波特率

Code

 

设置参数是用到了一个专用的结构体struct termios其实也没啥说的,就是通过它去配置串口参数罢了

注意tcflush,他是清空buffer用的,关于buffer这东西,里面其实挺饶,这里不多说明,只是要注意它清空的buffer并不是printf那类函式中所谓的缓冲。

另外那两个数组,其实可以弄的简单些,只不过懒得改了

有点像画刷的使用,旧的一般都爱保存起来,最后还要还原。

 

设置数据格式

Code

 

和前面的函式不同这里直接对struct termios进行操作,进而配置了数据位长度,校验位,停止位,超时等信息

最后整合下,列出一个测试用例

Code

这个测试将发送hello字符并接受,主要是为了测试自发自收用的
如果有串口的话,可以使用跳线帽将23脚端接来完成此测试
可以看到终端中不断出现hellohello……就对了!
我的是现代化的笔记本。。。。。XD怎会有串口的存在
所以整了张卡,据说比usb转接线稳定,目前还没发现稳定到哪里去,如图



【图中绿色的那个东西就是跳线帽了】
另外目前还不会如何通过中断来控制串口,
不过好像可以通过GIO很方便的使用串口,哎以后有时间再学了。。。。。。OTZ



posted @ 2009-09-13 08:48  平繁  阅读(2451)  评论(0编辑  收藏  举报