【批注:
 2009-09-18

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

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

做一些总结和记录

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

 

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

1.       打开串口

2.       设置参数

3.       发送接收

4.       按需关闭

而根据函式提供的形式,

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

[1]设置波特率

[2]设置数据格式

下面还是罗列一些代码

打开串口

 fd;
}

O_RDWR就是可读写的意思

设置波特率

;     
            }    
            tcflush(fd,TCIOFLUSH);   
        }  
    }
}

 

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

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

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

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

 

设置数据格式

;  
}

 

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

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

}

这个测试将发送hello字符并接受,主要是为了测试自发自收用的

如果有串口的话,可以使用跳线帽将23脚端接来完成此测试

可以看到终端中不断出现hellohello……就对了!

我的是现代化的笔记本。。。。。XD怎会有串口的存在

所以整了张卡,据说比usb转接线稳定,目前还没发现稳定到哪里去,如图

linux串口示例【0912】

【图中绿色的那个东西就是跳线帽了】
另外目前还不会如何通过中断来控制串口,

不过好像可以通过GIO很方便的使用串口,哎以后有时间再学了。。。。。。OTZ



相关文章:

  • 2022-02-16
  • 2022-12-23
  • 2021-08-26
  • 2022-12-23
  • 2021-12-04
  • 2021-12-05
  • 2022-12-23
  • 2023-03-28
猜你喜欢
  • 2021-10-10
  • 2021-06-18
  • 2021-09-22
  • 2022-12-23
  • 2022-12-23
  • 2021-11-18
相关资源
相似解决方案