·上一文章:自平衡机器人的控制系统设计
·下一文章:基于CMSIS标准的 Cortex-M3应用软件开发
3.3 具体实现
3.3.1 对看门狗的封装
基于程序设计上的考虑,将定时器的管理控制和看门狗的具体操作分开,对看门狗进行封装,CClkGenerator类封装了看门狗的所有操作,包括看门狗的创建、删除、取消和启动,保存定时器id、类型、定时周期等。值得注意的是:看门狗的回调函数并不是用户的回调函数,而是看门狗管理控制中提供的统一回调函数,回调函数中的参数为定时器的索引号。封装代码如下:
从类定义可以看出,用户并不能直接使用CClkGen-erator。也就是说,该类对用户而言是不可见的,屏蔽了对看门狗的直接操作,只有定时器管理控制模块才可以对其进行操作。
3.3.2 定时器管理与控制
定时器管理与控制模块负责模块初始化、多个定时器相关参数的存储管理、定时器任务的安全退出,以及用户接口的实现。
定时器的主要数据结构:定时器控制结构和存储结构。