近日在写一个linux的串口程序,发现大多数情况下数据接收没问题,但是有时却有问题。主要是接收的字符串中包含有0x03这个字符,会造成与它相邻的字符同时也接收不到,搞了好久才发现这个错误。查找资料后发现许多ARM板也存着这个问题,存在问题的字符串还包括0x13、0x0D等特殊含义的字符。
解决方法
方法比较简单,在接收数据前,对串口的文件描述符fd进行如下设置,
struct termio...
分类:
系统相关 时间:
2014-09-24 13:24:07
阅读次数:
327
http://blog.csdn.net/mafuli007/article/details/7233304epoll的优点:支持一个进程打开大数目的socket描述符(FD)select 最不能忍受的是一个进程所打开的FD是有一定限制的IO效率不随FD数目增加而线性下降传统的select/poll...
分类:
其他好文 时间:
2014-09-24 00:58:35
阅读次数:
225
pselect函数是由POSIX发明的,如今许多Unix变种都支持它。#include #include #include int pselect(int maxfdp1, fd_set *readset, fd_set *writeset, fd_set *exceptset, const st....
分类:
其他好文 时间:
2014-09-23 17:02:04
阅读次数:
200
原型intselect(intnfds,fd_set*readfds,fd_set*writefds,fd_set*exceptfds,const struct timeval*timeout);nfds:本参数忽略,仅起到兼容作用。 readfds:(可选)指针,指向一组等待可读性检查的套接口。 ...
分类:
其他好文 时间:
2014-09-22 16:15:42
阅读次数:
319
这是文件I/O的常用函数,open函数,open函数用来打开一个设备,他返回的是一个整型变量,如果这个值等于-1,说明打开文件出现错误,如果为大于0的值,那么这个值代表的就是文件描述符。一般的写法是if((fd=open("/dev/ttys0",O_RDWR | O_NOCTTY | O_NDEL...
分类:
其他好文 时间:
2014-09-22 13:30:02
阅读次数:
185
获取web页面#!/usr/bin/envpython
importsys,urllib2
req=urllib2.Request(sys.argv[1])
fd=urllib2.urlopen(req)
whileTrue:
data=fd.read(1024)
ifnotlen(data):
break
sys.stdout.write(data)首先建立了一个urllib2.Request对象,该对象用URL做参数。然后调用urlopen得到..
分类:
Web程序 时间:
2014-09-20 02:22:57
阅读次数:
332
// 创建文件上传路径 public static void mkdir(String path) { File fd = null; try { fd = new File(path); if (!fd.exists()...
分类:
编程语言 时间:
2014-09-19 15:28:55
阅读次数:
300
1. Select源码解析
基于2.6.28内核代码,select主要包含4个函数。
sys_select:处理时间参数,然后调用core_sys_select。
core_sys_select:处理三个fd_set参数(in, out, ex),然后调用do_select。
do_select:遍历所有的fd,做select/poll的工作。在合适的时机把...
分类:
其他好文 时间:
2014-09-19 01:12:44
阅读次数:
192
1、下载mysql5.6.20wgethttp://dldx.csdn.net/fd.php?i=647578207794786&s=4f3a5759b24d9da51def820682899e002、安装所需组件yum-yinstallgccgcc-c++gcc-g77autoconfautomakezlib*fiex*libxml*ncurses-devellibmcrypt*libtool-ltdl-devel*makecmake3、创建mysql用户groupad..
分类:
数据库 时间:
2014-09-18 16:55:44
阅读次数:
277
int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout);
int poll(struct pollfd *fds, nfds_t nfds, int timeout);
int epoll_wait(int epfd, struct...
分类:
其他好文 时间:
2014-09-17 23:23:42
阅读次数:
325