gpt4 book ai didi

c - C中定时器滴答声的实现

转载 作者:行者123 更新时间:2023-11-30 17:37:49 28 4
gpt4 key购买 nike

我正在做一些嵌入式系统工作,有几个问题。我有一个计时器函数,每 100 毫秒触发一次。我现在需要在系统启动后获取实际时间。

目前我的代码是这样的:

struct timer
{

uint8_t millis_100;
uint8_t minute_455;
}


void tick()
{
//fires evry 100ms
timer_task.millis_100++;
}

但是我很困惑这是否是正确的方法,因为我需要检查 millis_100 是否溢出到 0,然后在 ISR 例程中递增它。如果我需要超过 455*2^8-1 那么我需要在 ISR 中放置另一个 if 语句。这是如何使用系统滴答来制作软件计时器的?或者有更优雅的解决方案吗?

最佳答案

如果您担心计时器溢出,为什么不使用 unsigned long 变量?
检查linux内核中定时器的实现timer.c , timer.h

有关更多详细信息,请阅读 LDD3/ch07 中的计时器 API 部分。

关于c - C中定时器滴答声的实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22278725/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com