如果串口打开后,不对其执行关闭操作,会有什么后果呢?

xh_jj 2009-12-09 04:48:46
如果串口打开后,不对其执行关闭操作,会有什么后果呢?
...全文
815 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用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
  • 打赏
  • 举报
回复
下次打不开

19,518

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧