社区
嵌入开发(WinCE)
帖子详情
如果串口打开后,不对其执行关闭操作,会有什么后果呢?
xh_jj
2009-12-09 04:48:46
如果串口打开后,不对其执行关闭操作,会有什么后果呢?
...全文
886
15
打赏
收藏
如果串口打开后,不对其执行关闭操作,会有什么后果呢?
如果串口打开后,不对其执行关闭操作,会有什么后果呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
「已注销」
2009-12-11
打赏
举报
回复
[Quote=引用 14 楼 feihu521a 的回复:]
break直接就跳出while循环了,contiue才是跳出本次循环。
[/Quote]
这个break好像只能跳出switch,跳不出while(1)
ilovedrv
2009-12-10
打赏
举报
回复
while(1){***}
里面有break或者goto否
yzbsd
2009-12-10
打赏
举报
回复
下次就打不开了
firehood
2009-12-10
打赏
举报
回复
[Quote=引用 5 楼 xh_jj 的回复:]
今天看到一个程序,是在一个子线程里面,
首先打开串口:fd=open_com(****);
紧接着是: if(fd <0){报错}
然后是: while(1){***}
之后是一个: if(close_com(***)=-1){报错}
我感觉最后那个关闭串口的操作是不是执行不到那里?前面是个死循环呢。
那如果程序由于某种原因重新启动,是不是会出现错误?
[/Quote]
if(close_com(***)=-1){报错} 这句话肯定执行不到啊,你可以在主线程关闭的时候终止这个子线程,并将串口端口关闭。
guopeixin
2009-12-10
打赏
举报
回复
[Quote=引用 5 楼 xh_jj 的回复:]
今天看到一个程序,是在一个子线程里面,
首先打开串口:fd=open_com(****);
紧接着是: if(fd <0){报错}
然后是: while(1){***}
之后是一个: if(close_com(***)=-1){报错}
我感觉最后那个关闭串口的操作是不是执行不到那里?前面是个死循环呢。
那如果程序由于某种原因重新启动,是不是会出现错误?
[/Quote]
没看懂
firehood
2009-12-10
打赏
举报
回复
[Quote=引用 10 楼 xh_jj 的回复:]
倒是有break,但我理解的是这也只能跳出本次循环,开始下一次while()的判断,不知对不对?
[/Quote]
break直接就跳出while循环了,contiue才是跳出本次循环。
wlc311
2009-12-10
打赏
举报
回复
那就被一个线程一直占用咯
MY_MCU
2009-12-10
打赏
举报
回复
下次再用找开命令时,会提示串口占用.不执行打开命令,则可直接收发数据.
happybeginner
2009-12-10
打赏
举报
回复
串口编程在kenrel的本质是文件系统层+串口芯片驱动层, 在kernel里面你可以看到其实所谓的open和close对应到串口芯片地驱动里面地代码只是把串口芯片地收发中断使能和关闭. 但是既然串口作为一个设备, 当然要遵从设备文件地基本属性, 看设备打开时用的参数. open后如果不关导致地后果你前面地写和后面地写会叠加输出. 前面的读和后面的读则会看输入数据进入串口接收buffer的时机.
「已注销」
2009-12-10
打赏
举报
回复
while()
{
nread=com_read(***);
if (nread>0)
{
switch(X)
{
case a:
****
break;
case b:
****
break;
default:
break;
}
}
}
if(close_com(***)=-1){报错}
//倒是有break,但我理解的是这也只能跳出本次循环,开始下一次while()的判断,不知对不对?
「已注销」
2009-12-09
打赏
举报
回复
今天看到一个程序,是在一个子线程里面,
首先打开串口:fd=open_com(****);
紧接着是: if(fd<0){报错}
然后是: while(1){***}
之后是一个: if(close_com(***)=-1){报错}
我感觉最后那个关闭串口的操作是不是执行不到那里?前面是个死循环呢。
那如果程序由于某种原因重新启动,是不是会出现错误?
tcdzyq
2009-12-09
打赏
举报
回复
如一二
宇帆
2009-12-09
打赏
举报
回复
下次打开 串口的时候 会提示被占用,以后可以直接对串口进行读写操作
firehood
2009-12-09
打赏
举报
回复
串口会一直被占用
rzsheng
2009-12-09
打赏
举报
回复
下次打不开
Linux下
串口
通信详解(上)
打开
串口
和
串口
初始化详解
linux下
串口
通信主要有下面几个步骤
串口
通信流程图 下面我
会
一一介绍这几个步骤。 1.
打开
串口
代码(
串口
为ttyUSB0) //
打开
串口
int open_port(void) { int fd; fd=open("/dev/ttyUSB0",O_RDWR | O_NOCTTY | O_NONBLOCK); // printf("fd=%d\n",fd);
高级
串口
编程—C/C++
打开
串口
、
关闭
串口
和读
串口
函数
最近在做一个陀螺仪的原始数据读取遇到了
串口
数据读取问题,在网上查阅了一篇技术文档,觉得写的不错,分享一下! 1.1前言 通常使用以下函数来通过Windows系统来对外围设备进行通信,做
串口
方面的程序,使用CreatFile
打开
串口
通信端口。在对
串口
进行
操作
之前,需要首先
打开
串口
。使用C++进行
串口
编程,如果采用VS开发,则可以直接借助于
串口
通信控件来
操作
,其次,也可以直接调用W...
Qt中利用多线程读取
串口
数据
需求:有多个
串口
进行数据的处理,最好需要把线程封装到
串口
类(serialPort)中 这样就可以在主线程中通过new多个serialport对象myPort1、myPort2等来创建多个线程管理各个
串口
实现方式:继承QObject的方式来写线程, 所有东西都需要用信号和槽来进行交互!!!思路:主线程中需要的
操作
:通过控制一个按钮来
操作
一个
串口
的
关闭
,即控...
1-python库之-serial
串口
操作
串口
操作
在日常嵌入式设备调试的过程可以使用,而且非常方便,比较麻烦的应该是十六进制的接收处理。 python里面使用serial库来
操作
串口
,serial的使用流程跟平常的类似,也是
打开
、
关闭
、读、写 1.
打开
串口
一般就是设置端口,波特率。 使用serial.Serial创建实体的时候
会
去
打开
串口
,之后可以使用is_open开判断下是否
串口
是否
打开
正常。 def DOpenPort(port...
CSerialPort类
关闭
串口
后无法再次
打开
的一个错误问题
参考文章为我之前发的SerialPort类的编写: https://blog.csdn.net/vae20017/article/details/104045914 本人在写
串口
调试程序的时候,用CSerialPort类
打开
串口
后如果
关闭
,再次
打开
就无法
打开
该
串口
。利用GetlastError()发现错误代码是:5,也就是
串口
被占用。将程序全部退出再进入就可以
打开
占用
串口
,因此证明程序
关闭
串口
失败...
嵌入开发(WinCE)
19,523
社区成员
41,565
社区内容
发帖
与我相关
我的任务
嵌入开发(WinCE)
硬件/嵌入开发 嵌入开发(WinCE)
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章