社区
Linux/Unix社区
帖子详情
请教linux串口通信时对sigio的选择接收问题
灵跑者
2006-05-15 11:49:51
小弟现在在做一个linux下的串口通信程序,计划使用sigio信号来实现对串口接收到数据时实现中断并且读取数据。但是好像sigio信号好像是在串口读取和接收时都会产生中断,我现在只想在接受到数据时产生中断。不知道该怎么做,我看好像可以使用kill_fasync,但是不太会用。请教大虾,如果我想只接受ttyS0收到的数据时的信号,该怎么办,谢谢!
...全文
380
3
打赏
收藏
请教linux串口通信时对sigio的选择接收问题
小弟现在在做一个linux下的串口通信程序,计划使用sigio信号来实现对串口接收到数据时实现中断并且读取数据。但是好像sigio信号好像是在串口读取和接收时都会产生中断,我现在只想在接受到数据时产生中断。不知道该怎么做,我看好像可以使用kill_fasync,但是不太会用。请教大虾,如果我想只接受ttyS0收到的数据时的信号,该怎么办,谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ocor
2006-12-14
打赏
举报
回复
why do you use signal?
could you open the ttyS0 without setting O_NONBLOCK, then when you read() from ttyS0, the process will be blocked until there is some data.
if you do not want to block the whole process, you can use thread to handle the read().
awjx
2006-12-13
打赏
举报
回复
哎,我也正在找方法,却找到同样没解决的问题!
tcp_
sigio
异步通讯代码
tcp_
sigio
异步通讯代码
43-
sigio
.rar
网络编程从大的方面说就是对信息的发送到
接收
,中间传输为物理线路的作用。网络编程最主要的工作就是在发送端把信息通过规定好的协议进行组装包,在
接收
端按照规定好的协议把包进行解析,从而提取出对应的信息,达到通信的目的。
Linux
驱动_GlobalMem1
1.驱动中的异步通知当按键按下,内存中有数据等关键事件发生
时
,可以发送
SIGIO
信号,应用层需注册该信号的回调函数,当这些关键事件发生
时
,信号回调函数运行,做后
AsynchronousIO,异步IO驱动代码和makefile
//指定信号
SIGIO
,并绑定处理函数 signal(
SIGIO
,aio_async_func); //把当前线程指定为将
接收
信号的进程 fcntl(fd,F_SETOWN,getpid()); //获取当前线程状态 fcntl(fd, F_GETFD); //设置当前线程为 FASYNC 状态
C语言-udp的多种实现方法
1、最基本的方式(不用组播不用
sigio
信号不使能广播属性) 2、使用
SIGIO
信号的方式(使用
sigio
信号使用广播使能属性) 3、使用组播模式
Linux/Unix社区
23,114
社区成员
74,507
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章