如何通过中断处理来读取数据串口数据
使用查询的方式也可以读取数据,但,那种方式毕竟没有什么实际意义
linux内核已经为各个串口分配了IRQ,应该怎么去调用来实现中断读取数据呢?
各位大虾指点一下
ps:好像关于linux中断方面的资料不是很多。。。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
使用查询的方式也可以读取数据,但,那种方式毕竟没有什么实际意义
linux内核已经为各个串口分配了IRQ,应该怎么去调用来实现中断读取数据呢?
各位大虾指点一下
ps:好像关于linux中断方面的资料不是很多。。。
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
你是想通过串口读 数据 还是说要实现中断?
前者:Linux把 串口的读取都抽象成文件了。
后者:参考Linux设备驱动程序。
我意思是通过串口来读取数据,可以用循环等待的方式来读取 ,比如这样
while(1)
{
read(fd,&inbuf,; /*这种方式是主程序不停地在等待数据的到来,把串口当作文件来读取*/
}
而我希望能够在主程序里面执行其他代码,假如有数据到来,串口会发生一个中断,然后再通过中断处理程序来读取数据
我的问题是,如何写这个中断处理程序?
串口的设备驱动程序,系统已经做好了,我要的做的,应该是如何使用它?
偶初学者,对中断这块不熟悉
多多指教
linux下,所有的ISR必须运行在内核态。这是有IDT Table规定了的。