免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1968 | 回复: 3
打印 上一主题 下一主题

如何通过中断处理来读取数据串口数据 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-12-15 10:54 |只看该作者 |倒序浏览
使用查询的方式也可以读取数据,但,那种方式毕竟没有什么实际意义

linux内核已经为各个串口分配了IRQ,应该怎么去调用来实现中断读取数据呢?

各位大虾指点一下

ps:好像关于linux中断方面的资料不是很多。。。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
2 [报告]
发表于 2005-12-15 11:04 |只看该作者
你是想通过串口读 数据 还是说要实现中断?

前者:Linux把 串口的读取都抽象成文件了。
后者:参考Linux设备驱动程序。

论坛徽章:
0
3 [报告]
发表于 2005-12-15 11:50 |只看该作者
我意思是通过串口来读取数据,可以用循环等待的方式来读取 ,比如这样
while(1)
{
    read(fd,&inbuf,;  /*这种方式是主程序不停地在等待数据的到来,把串口当作文件来读取*/
}

而我希望能够在主程序里面执行其他代码,假如有数据到来,串口会发生一个中断,然后再通过中断处理程序来读取数据

我的问题是,如何写这个中断处理程序?

串口的设备驱动程序,系统已经做好了,我要的做的,应该是如何使用它?
偶初学者,对中断这块不熟悉
多多指教

论坛徽章:
0
4 [报告]
发表于 2005-12-15 16:06 |只看该作者
linux下,所有的ISR必须运行在内核态。这是有IDT Table规定了的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP