各位大侠,我写了一个linux下我写了个程序验证串口接收数据情况,是个死循环read,发现串口需要分多次read

作者&投稿:答贤 (若有异议请与网页底部的电邮联系)
请教各位大侠。那位帮我写一个将选定的图层置为当前图层的LSP程序。谢谢~

一级的人,通常是不会回来给分的。

漂亮 飘逸 美丽 可爱 温柔 灵动 灵活 灵秀 灵巧 灵气 善良 善解人意 善于聆听 聪明 聪慧 贤惠 优雅 文静 大方得体 坚强 坚持 坚定 坚忍 耐心 爱心 恒心 小调皮 为人着想 纯洁 纯朴 纯真 朴实 朴素 乐于助人 机警 礼貌 不娇气 不蛮横 有趣 有理想 有计划 有气质 有灵感 有活力 有魅力 有同情心 有情调镇静 知书识礼 明白事理 规矩 节制 老实 勇敢 果敢 果断 逻辑强 敏锐 洞察力强 上进 勤劳 勤奋 努力 苗条 清秀 青纯 青春 高贵 典雅 才女 灿烂 阳光 多彩 啊挪多姿 心肠软 迷人 吸引 明哲 默契 目光远大 外向/内敛 有条不紊 手艺好 宁静 热情 热诚 乖巧 小鸟伊人 有所为有所不为 洒脱 潇洒 看得开 低调 心平气和 搞笑 幽默
动如脱兔,静如处子
女孩子不喜欢男的揭她们的缺点,所以,如果逼问你她有什么缺点,你这样对她说:
你最大的缺点就是太多优点~呵呵~祝君成功

首先,默认的串口文件的缓存方式是无缓冲。其次,串口在发送数据的时候不是连续的。
比如,串口要给你0x62,0x77。那么他就先发0x62后发0x77。而如果你在他发完0x62的时候马上就read()那就会只得到0x62.而0x77要再read一次。

如果你想一次就全读上来,那有两个方法。
1:你自己写一个读串口的函数,里面调用read;
例如:
int tipc_read_socket( int sockfd, char *buf, int len )
{
int count = 0; //每次读取字节数
int pos = 0; //总共读取字节数

pos = 0;
do {
count = read(sockfd, &buf[pos], len - pos);
//printf("tipc_read_socket:count[%d]\n", count);
if( 0 > count )
{
if( EINTR == errno )
continue;
//当设置为non block的时候,第一次把所有的数据读取完以后,第二次的结果为-1.
return( pos );
}

if( 0 == count ) break; /* Nothing left! */
pos += count;
} while( len > pos );
return( pos );}

2:你设置一下输入输出属性。
struct termios newtio;
bzero( &newtio, sizeof( newtio ) );
newtio.c_cc[VTIME] = ***;
newtio.c_cc[VMIN] = ***;
tcsetattr(fd,TCSANOW,&newtio);
这个里面的VTIME,VMIN。就是读等待的时间。
设置了以后,比如你读0x62的时候read,那么他会等待你设置的时间,如果在这个时间里面0x77来了,那他会把0x62和0x77一起返回给你。这个时间跟波特率有关,应该是设置为在某种波特率的情况下连续两字节的最大间隔时间。

将串口打开模式设为非阻塞模式,用多线程实现.

你read给的参数是什么?


各位大侠,我需要编写一个代码,eprime和眼动仪相连接的一个代码。
用eprime编写的,眼动仪

哪位大侠伴我写个c++程序:招聘信息管理系统。
varRpsSource1.begin(), varRpsSource1.end(), varRpsSource2.begin(), varRpsSource2.end(), source3.begin() ); varRpsSource1.clear(); for(RPSTYPE::iterator it=source3.begin();it!=itNewEnd2;++it) varRpsSource1.push_back(*it); return varRpsSource1; }\/\/\/Function: RpsOr\/\/Effect:...

请哪位大侠帮我设计个plc程序吧,设计一个三台电机循环启停运转控制...
我用欧姆龙给你编吧,你参考参考。启动 0000 停止 0001 1#电机 1000 2#电机 1001 3#电机 1002 指令表如下:LD 0.00 OR 200.00 ANDNOT 0.01 OUT 200.00 LD 200.00 ANDNOT TIM005 TIM 000 #10 LD TIM000 TIM 001 #5 LD TIM001 TIM 002 #10 LD TIM002 TIM 003 #5 LD...

哪位大侠能帮我编一条关于新春祝福的谜语呀
03. 我狠下心离去的那一刻,你在我身后无助的哭泣和撕心裂肺的痛楚让我刹那间明白我是多么地爱你,我猛地转身哭着把你抱紧:这头猪我不卖啦!04.一只蛐蛐跟猪打赌说:我跳进草里你就看不见我,猪说:我要看得见呢?于是蛐蛐跳进草里。猪在看,猪在看!猪还在看!猪咋还在看呢?!05. 狼来了猪窝里乱成一团,...

...鼠标、键盘)3500元以内。请大侠们帮我写个配置单!
配出目前主流配置,预计可以用个3、4年,那时候游戏才发展比较成熟,到那时一般游戏还是木有压力的。CPU:速龙X 4640盒装 720元 主板:或捷波惊雷TA980AG 450元(芯片较好)或微星880GM-E35 450元(品牌优势)或华硕M5A78L-M LX PLUS 470元(主板质量较好,芯片较低)内存:威刚或金士...

...之前您帮助我写了一个VBA的程序,当我扫描条码后只读取条码前面_百度...
不知道你是要固定H列,还是相对于找到的单元格往右数的第7列 我是以后者来理解的 Sub find_text()find_content = InputBox("请输入扫描内容")For Each sheets_search In ThisWorkbook.Worksheets If Not sheets_search.Cells.Find(Left(find_content, 11)) Is Nothing Then sheets_search.Activate ...

哪位大侠帮忙写封情书啊~我送给我女朋友
因为爱一个人不容易。唐·李益《写情》中有着样这样一句:从此无心爱良夜,任他明月下西楼。你知道它的意思吗?此时我的心情,就象这句诗写的一样。雪媚,我真的不想失去你。和你在一起,我是多么希望我们之间的爱,能象小溪中的流水一样,清澈、平静地、欢乐而无忧的向远方流去。但生活总是有...

这是一个乡下人进城的故事~ 这是一个乡下人被冤枉的故事~ 这是一个揭...
这是一个十分悲惨的故事。实在令人愤懑而又气苦。任谁听了都会产生满腹“不平之气”。于是,金庸继续写道:“这件事一直藏在我心里。《连城诀》是在这件真事上发展出来的,纪念在我幼小时对我很亲切的一位老人。和生到底姓什么,我始终不知道,和生也不是他的真名。他当然不会武功。我只记得他常常一两天不说一句...

用vb写一个最简单的计时器,可就是不成功,哪位大侠帮我看一下
Timer1.Enabled = False Label1.Caption = "00:00"End Sub Private Sub Form_Load()Timer1.Enabled = False Label1.Caption = "00:00"Timer1.Interval = 1000 End Sub Private Sub Timer1_Timer()a = a + 1 If a = 60 Then b = b + 1 a = 0 End If Label1.Caption = Format(...

...采用金庸武侠小说中的人物名字,讲他们在一个学校的生活
作者:江南 《此间的少年》是以金庸小说人物为基础的同人小说,用作者江南的话说,“《此间》中使用的人名无一例外出自金庸先生的十五部武侠小说……但是,无论这个故事中的人物叫什么名字,他们都不再是人们耳熟能详的江湖英雄和侠女,他们更贴近于曾经出现在我身边的少年朋友们,而《此间》,也是一个全新的故事。” "...

杏花岭区13547354832: 我在linux下写了一个C++程序,可无论如何也运行不出来.从网上也找不到如此初等的资料. -
锻饺澳格: 1.编译c++的文件应该使用 g++而非gcc(如果用gcc应该指定语言)2.你需要在#include<iostream>的下面加上 using namespace std; 或using std::cout;3.main应改为int main() 编译指令: g++ -o cjj cjj.cpp-o cjj 表明输出到cjj

杏花岭区13547354832: 我在linux下写了个程序,怎么用gcc编译?? -
锻饺澳格: gcc是一个编译器,qt是一个界面编程工具,两者是不能比的.linux下编译c程序必然要用到gcc编译器,而qt则是用来开发界面程序的,类似windows下微软的mfc,你要在linux下写程序,必然的要会使用gcc对你的程序进行编译,至于qt只是个基于C++的界面程序开发工具,觉得以后用到就学一下,用不到就算了.我在和你说一遍,gcc只是一个编译器. 你的意思是linux下的c/c++集成开发环境吧,anjuta,eclipse等等都可以,但他们只是提供了开发环境,编译器还是用的gcc.

杏花岭区13547354832: 我在Linux的主文件夹下写了一个shell script,为什么运行的时候提示:"No such file or directory" -
锻饺澳格: 可能是权限问题,你(ll)查看一下此文件,一般都是-rw-r--r-- 把它改为-rwxr--r--(方法:chmod 744 文件名)不知道你用的是哪个版本的linux,因为多数版本的默认权限是0022,你可以用umask查看一下,所以新建的文件权限都是644,目录是755,所以当你的文件要变成可执行时,就要把那个X补上去了,明白吗?呵呵...

杏花岭区13547354832: linux下编写一个shell脚本 每天0点 定时执行某一可执行程序test. 刚学习shell希望大侠们给个代码参考! -
锻饺澳格: 放在crontab里啊 # m h dom mon dow command 0 0 * * * /home/yourshell.sh

杏花岭区13547354832: 如何将Linux下的QT程序移植到arm板上 -
锻饺澳格: 用交叉编译工具(arm-linux-g++等)把你自己的qt程序用嵌入式版本的qt库交叉编译一下然后烧写到开发板上就可以执行了,当然你qt程序所用到的库也要放上去,并设置到路径(QTDIR,PATH,LIBRARY_PATH)等等

杏花岭区13547354832: linux下的mp3播放软件 -
锻饺澳格: 读入文件->解码-> 得到音频流 -> 播放声音 解码后的数据直接交给声卡啊……没事存成文件干啥? 音频文件基本都是以数据流形式存在的,一般都是以“帧”为单位,这个流直接可以从你的解码缓冲区转发走的,不需要整体解码后保存才能播放.

杏花岭区13547354832: LINUX驱动开发: UBUNTU下,比如我写了个.C 驱动文件. 之后我要把它放在哪里,我才能得到.ko文件,详细些 -
锻饺澳格: 两种方法:1,直接添加进内核.a, 比如进入drivers/char/目录,把xxx.c文件拷贝到该目录 b, 修改drivers/char/Kconfig文件,自定义仿照其他选项,添加自己的选项XXX.c, 修改drivers/char/Makefile文件,添加obj-$(CONFIG_XXX) += xxx.o d...

杏花岭区13547354832: 请高手分析以下程序(这是linux系统下的一个大神写的),我是新手,请逐行给出解释,越详细越好.谢谢! -
锻饺澳格: 这个应该是打印当前机器所有设备的程序吧,并显示所有设备名称

杏花岭区13547354832: linux下写一个bash程序,获取系统时间若在6~12就提示早上好,分没有了,求大侠 -
锻饺澳格: 把时间用date调用出来,然后用三个变量存储时分秒...时在6 和12的时候,就调用mpg123 来放某一段音乐..就OK

杏花岭区13547354832: 我在linux中编写一个*.sh的文件为啥提示找不到命令,但是那个文件我确实编写了 啊. -
锻饺澳格: 在linux中编写一个*.sh的文件提示找不到命令是设置错误造成的,解决方法为:1、下载您要安装的软件.必要的文件通常将被压缩为.tar,.tgz或.zip文件.2、打开一个终端窗口.输入cd ~/path/to/the/extracted/folder并按 Enter.用包含install.sh文...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网