如何通过中断处理来读取数据串口数据

发布于 2022-09-30 06:56:19 字数 149 浏览 23 评论 0

使用查询的方式也可以读取数据,但,那种方式毕竟没有什么实际意义

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

各位大虾指点一下

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

山色无中 2022-10-07 06:56:19

你是想通过串口读 数据 还是说要实现中断?

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

软甜啾 2022-10-07 06:56:19

我意思是通过串口来读取数据,可以用循环等待的方式来读取 ,比如这样
while(1)
{
    read(fd,&inbuf,;  /*这种方式是主程序不停地在等待数据的到来,把串口当作文件来读取*/
}

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

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

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

寄风 2022-10-07 06:56:19

linux下,所有的ISR必须运行在内核态。这是有IDT Table规定了的。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文