如何使用 DMtimer 在 beaglebone 中设置 1 分钟计时器?

how to set 1 minute timer in beaglebone using DMtimer?

我想使用 beaglebone 的 DMtimer 将定时器设置为 1 minute.Can 谁能指导我完成相同的程序?我使用过 Pic 微控制器,它是定时器,所以我知道定时器的工作原理,但是就 beaglebone 中的编程和寄存器处理而言,它似乎在不同的地方工作 manner.can 有人请指导我完成这个吗? 以下是我的 beaglebone green 的详细信息

uname -r
4.14.71-ti-r80

cat /etc/dogtag
BeagleBoard.org Debian Image 2018-10-07

cat /etc/debian_version
9.5

试图在 linux ubuntu

中编写 C 代码

以下答案假定您正在尝试创建用户 space 程序(与内核 space 代码(如典型驱动程序)相反)。

在完整的 OS 中,例如 Linux,您不需要操作寄存器来对计时器进行编程。您宁愿使用内核 APIs.

根据您的程序结构,有多种选择。

如果你有一个事件循环(通过轮询或select)你可能想要使用timerfd API。参见 http://man7.org/linux/man-pages/man2/timerfd_create.2.html

如果您想要通过信号进行异步通知,您可以使用 setitimer。参见:http://man7.org/linux/man-pages/man2/setitimer.2.html

一般来说,我会尽量避免使用信号,因为它们具有异步特性。