如何使用 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
一般来说,我会尽量避免使用信号,因为它们具有异步特性。
我想使用 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
一般来说,我会尽量避免使用信号,因为它们具有异步特性。