设为首页 加入收藏

TOP

Linux环境下2410开发板串口读写关键代码(二)
2014-11-24 14:28:24 来源: 作者: 【 】 浏览:1
Tags:Linux 环境 2410 开发 串口 读写 关键 代码
flush(fd,TCIOFLUSH);
}


void *thread1(void *)
{
//线程 1
while(1)
{
rbuf[0]='\0';
/*超时太长,会丢失数据包,如果连续*/
rc=readport(fd,rbuf,5,50); //读取5个字节,超时时间为100,500毫秒
if(rc!=-1)
{
rbuf[5]='\0';
//writeport(fd,wbuf,rc);
writeport(fd,rbuf,rc); //把收到的数据 发回
printf("Rev id:%s\n",rbuf);
}
//else
//{
// printf("Lost recv:%d\t Lost Text:%s\n",rc,rbuf);
// writeport(fd,wbuf,rc);
//}

}

close(fd); //关闭串口
pthread_exit(0);
}


void *thread2(void *)
{
QPEApplication a( argc, argv );
HelloForm f(0,"yunfly",Qt::WStyle_Customize|Qt::WStyle_NoBorder);


a.showMainWidget( &f );
//int result=a.exec();
a.exec();
pthread_exit(0);
}


int main( int a_rgc, char *a_rgv[] )
{
argc=a_rgc;
argv=a_rgv;
/********************初始化串口*************************/
// for(ii=0;ii<256;ii++)wbuf[ii]=ii;
fd=openport(dev); //打开串口
if(fd>0){
ret=setport(fd,115200,8,1,'N'); //设置串口,波特率,数据位,停止位,校验
if(ret<0){
printf("Can't Set Serial Port!\n");
exit(0);
}
}
else
{
printf("Can't Open Serial Port!\n");
exit(0);
}
/*****************************************************/

pthread_t id1,id2;
int ret;
/*Create Thread 1: RS232 Serial */
ret=pthread_create(&id1,NULL,thread1,NULL);
if(ret!=0){
printf("Create pthread error!\n");
exit(1);
}
/*Create Thread 2:QT Window*/
ret=pthread_create(&id2,NULL,thread2,NULL);
if(ret!=0){
printf("Create pthread error!\n");
exit(1);
}

pthread_join(id1,NULL);
pthread_join(id2,NULL);
exit(0);
}


首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Android在wifi下手机与电脑的sock.. 下一篇QtCreator动态编译jsoncpp完美支..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: