gpt4 book ai didi

c++ - 从全局对象构造函数停止看门狗定时器

转载 作者:行者123 更新时间:2023-11-28 04:16:23 27 4
gpt4 key购买 nike

我正在将多个 C 驱动程序集成到一个 C++ 集成嵌入式项目中。转到 OOP 方法,我将函数和变量组织到类中,每个类代表一个系统模块。

声明全局对象,包含编译器 RTS 库启动代码,以便在程序执行到达 main() 之前使用它们的构造函数构建它们。这会延迟从 main() 调用的 watchdog_timer 禁用,因此系统不会启动。

我有一个包含其他对象作为成员的全局对象,每个对象都有其重要的构造函数;在全局对象构造函数的开头停止看门狗定时器并不能解决问题。

如何解决这个问题?

最佳答案

创建一个 WatchDog 类来处理启动、停止和踢它。如果你必须使用一个大的全局然后实例化 WatchDog 作为第一个成员。它的构造函数应该关闭看门狗。在 main 中,您可以在一切准备就绪后启动它。

同意关于拥有一个巨大的全局类是一种糟糕的代码味道的评论。我已经完成了一堆大小不一的嵌入式系统,而无需使用全局变量。

关于c++ - 从全局对象构造函数停止看门狗定时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56502101/

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