易截截图软件、单文件、免安装、纯绿色、仅160KB

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


相关文档:

Linux下批处理文件编写


(1)
linux下的批处理文件,基本就是shell脚本文件。
1.一个最简单的脚本书写方法为:
新建一个文件,名字为clean(自己定义的名字),在里面编写
rm -fv *.o;ls -al;
(可以写一些shell普通命令,命令用分号隔开)
 
2.执行方法
(1)在控制台输入:
   sh clean
(2)先给与脚本可执行权限:
  ......

Linux 下 Mysql配置问题集

一直以来我的文章都是以工作笔记的形式存在。这对于自己读起来没什么大碍,但是对于其他读者可能就有些迷茫。我尽量改改,换种方式。
1. MySQL 的版本
如果要支持分区表,则应该使用 5.1.x 以上的版本。如
mysql> show variables like '%version%';
+-------------------------+------------------------------ ......

linux 安装oracle 参数提示PORT的值NULL无效

      第一次在Linux上安装Oracle的时候碰到这个问题,呵呵。之前在Linux上安装Oracle时,一般都使用RedHat系列的Linux,在安装过程中,需要做大量的安装前置工作,如安装RPM包,创建组和用户,修改内核参数,修改环境变量等。这次使用的是RedFlag的Asianux 3,而且自带Oracle的安装辅助工具Orana ......

understanding linux usb ehci device driver(2)

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() ( ......

浅析linux键盘设备工作和注册流程

(1)在\drivers\input\Input.c中。
      A,subsys_initcall(input_init);
      B,static int __init input_init(void)中完成几个重要的操作:
err = class_register(&input_class);以输入类方式注册类
input_proc_init();  //创建proc下的目录和 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号