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

LINUX串口简明解析[修正版][0919]

LINUX串口简明解析[修正版][0919]
09-14
上周的时候,发了篇文章,关于linux串口的【当然程序师转别人的(还是发布在IBM开发者社区的嘞)】,
虽然当时能跑的通,但这周在用的时候却发现不行了,于是决定仔细研究下linux下串口这东西!
当然那个程序有问题,就要自己重新写啦。。。。。。OTZ 。。。。饿。。。我向来比较懒。。。。
当然研究过程中还是明白了不少东西的
1,解决minicom启动后才能正常读取数据的问题
2.  解决读取数据缺失的问题
3.  学习使用select函式检测串口状态信息
。。。。。。。。。。。。。。。。。。。。。。
当然这次顺带加点自己的分析
串口的配置一般也就是波特率,数据格式这些东西,而linux环境下则通过一名为termios的结构体对其进行配置
其成员如下
                     Termios Structure Members
MemberDescription
c_cflag
Control options
c_lflag
Line options
c_iflag
Input options
c_oflag
Output options
c_cc
Control characters
c_ispeed
Input baud (new interface)
c_ospeed
Output baud (new interface)
看英文就很容易明白了,所以我也不多说啥了。
这个结构体其实很简单,但其中每一项的配置却要复杂的多,实际上我也没有逐项的学习
只是捡有用的看了下,而下面就是关于这些知识的记录。
1.打开串口
const char * serial_port[]={
"/dev/ttyS0",
"/dev/ttyS1",
"/dev/ttyS2",
"/dev/ttyS3",
"/dev/ttyS4"
};
int serial_open(int port)
{
int fd = open(serial_port[port], O_RDWR|O_NONBLOCK);
if (-1 == fd)
{
perror("Can't Open Serial Port");
exit (-1);
}
else
{
fcntl(fd, F_SETFL, 0);
}
return fd;
}
打开时一般可以用O_RDWR ,O_NOCTTY , O_NDELAY这三个参数的组合
分别代表读写[当然有对应只读,只写的,猜都猜到了],第二个告诉系统该串口不被用来作控制终端【没弄明白,反正一般我是不用,见过跟modem通信的程序会用到】
最后那个就是不要等的意思啦。。。。。。
2.配置串口
 typedef
enum { SERIAL_8N1=0, SERIAL_7E1=1, SERIAL_7O1=2, SERIAL_7S1=3 }serial_format;
voi


相关文档:

Linux 下常用软件的安装命令(转载)

 sudo apt-get install virtualbox
sudo apt-get install ntfs-3g ntfs-config #ntfs写入支持,装完后运行ntfs-config,把两个钩打上即可。楼下方法作废
sudo apt-get install googleearth googlizer gtalk#google相关,skyx友情提示:不推荐马甲 gtalk
sudo apt-get install ghex #GNOME 上的十六进制文件编辑器
su ......

linux软中断机制


 
 
linux软中断机制
 
 
中断服务程序往往都是在CPU关中断的条件下执行的,以避免中断嵌套而使控制复杂化。但是CPU关中断的时间不能太长,否则容易丢失中断信号。为此, Linux将中断服务程序一分为二,各称作“Top Half”和“Bottom Half”。前者通常对时间要求较为严格, ......

linux下tomcat自启动

-----------------------------------------------------------
#!/bin/bash
#
# Startup script for the tomcat
#
# chkconfig: 345 95 15
# description: tomcat service script
#
# Source function library.
. /etc/rc.d/init.d/functions
TOMCAT_HOME=/home/tomcat
RETVAL=0
checkjava(){
if [ -z "$JAVA ......

[转] 使用Python写Linux的守护进程(daemon)

A simple unix/linux daemon in Python
http://www.jejik.com/articles/2007/02/a_simple_unix_linux_daemon_in_python/
by Sander Marechal
I've
written a simple Python class for creating daemons on unix/linux
systems. It was pieced together for various other examples, mostly
corrections to various Py ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号