linux 串口编程
在嵌入式Linux中,串口是一个字设备,访问具体的串行端口的编程与读/写文件的操作类似,只需打开相应的设备文件即可操作。串口编程特殊在于串口通信时相关参数与属性的设置。嵌入式Linux的串口编程时应注意,若在根文件中没有串口设备文件,应使用mknod命令创建,这这里假设串口设备是/dev/ttyS0,介绍一下串口的编程过程。
#mknod /dev/ttyS0 c 4 64
1、打开串口
打开串口设备文件的操作与普通文件的操作类似,都采用标准的I/O操作函数open()。
fd = open("/dev/ttyS0",O_RDWR|O_NDELAY|O_NOCTTY);
open()函数有两个参数,第一个参数是要打开的文件名(此处为串口设备文件/dev/ttyS0);第二个参数设置打开的方式,O_RDWR表示打开的文件可读/写,O_NDELAY表示以非阻塞方式打开,O_NOCTTY表示若打开的文件为终端设备,则不会将终端作为进程控制终端。
2、设置串口属性
串口通信时的属性设置是串口编程的关键问题,许多串口通信时的错误都与串口的设置相关,所以编程时应特别注意这些设置,最常见的设置包括波特率、奇偶校验和停止位以及流控制等。
在Linux中,串口被作为终端I/O,它的参数设置需要使用struct termios结构体,这个结构体在termio.h文件中定义,且应在程序中包含这个头文件。
typedef unsigned char cc_t ;
typedef unsigned int speed_t ;
typedef unsigned int tcflag_t ;
struct termios
{
tcflag_t c_iflag ; /*输入模式标志*/
tcflag_t c_oflag ; /*输出模式标志*/
&nbs
相关文档:
无论微软如何专注于桌面,X的设计还是能让他们汗颜。比较一下Windows远程桌面(2008Server终于有所改进)和X转发的效果就可以理解,为什么*nix的世界里显示GUI环境依靠的竟然是Server-Client架构。
在Windows下,只要实现两个要素就可以实现X的转发:1.X Server服务;2.ssh客户端。前者可以用Xming,后者可以用putty或openS ......
功能描述:
处理信号。既可用于设定对任意信号的处理方式,也可用于检验该信号的目前预设处置方式。
用法:
#include <signal.h>
int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact);
&n ......
ARM+LINUX路线,主攻嵌入式Linux操作系统及其上应用软件开发目标:
(1)掌握主流嵌入式微处理器的结构与原理(初步定为arm9)
(2)必须掌握一个嵌入式操作系统(初步定为uclinux或linux,版本待定)
(3)必须熟悉嵌入式软件开发流程并至少做一个嵌入式软件项目。
从事嵌入式软件开发的好处是 ......
understanding linux usb ehci device driver(2)
understanding linux usb ehci device driver(2)
lm_tom@163.com
2. linux ehci device driver(ehci hcd)
2.1. linux usb subsystem arch overview(host)
2.2. ehci_hcd
2.3. ehci 实现的接口
2.3.1. ehci_pci_setup() (hc_driver->reset)
2.3.2. ehci_run() ( ......
&&
命令1 && 命令2 如果这个命令1执行成功& &那么执行这个命令命2
mv myfile myfile2 && echo "if you are seeing this then mv was success!"
||
如果| |左边的命令(命令1)未执行成功,那么就执行| |右边的命令(命令2)
mv myfile myfile2 & ......