简介
本文将详细介绍如何使用 EB 工具配置 Flagchip FC4150 MCAL 使用 GPT 模块定时喂狗,并重点强调了配置 GPT、WDG 模块的过程以及对 GPT、WDG 模块的详细解释,关于 mcu、port 、dio、icu、adc 、pwm 模块可参考之前发布的博文。本次示例演示将会使用 FTU4_CH0 超时时间去做 WDG 模块的硬件定时喂狗,FTU0_CH1 来做周期性软件喂狗。
硬件平台:旗芯微 FC4150 DEMO BOARD V2 开发板
软件平台:EB tresos 28.1.0 、Flagchip_FC_IDE 4.04
MCAL: V1.1.0 & V1.1.1
一 、MCAL 配置
1.1 配置 MCU 模块
根据本次实例的内容,我们需要在 MCU 模块-> PCC 下添加 FTU1、FTU4 的外设时钟,时钟选择 FOSCDIVH。另外需要在 MCU 模块-> McuClockReferencePoint下添加 FTU1、FTU4、SYS_CORE 、FOSC 对外的参考时钟,来用作 GPT、WDG 模块的输入参考时钟。如图 1.1.1、1.1.2 所示。
▲ 图 1.1.1
▲ 图 1.1.2
1.2配置 WDG 模块
1.2.1 在 Module Configurations 中添加 WDG 模块,在 WDG-> General 下配置超时时间的初始值为 0.03 秒、最大值为 0.1 秒
▲ 图 1.2.1
1.2.2 在 WDG-> WdgSettingsConfig下添加 WdgSettingsConfig_0,选择硬件看门狗 0、看门狗模式为慢速、关联的 Gpt 通道为 GptChannel_WDG (该项在 GPT ->GptChannelConfiguration 配置完成后进行配置)、时钟参考点选择 McuClockReferencePoint_Fosc、填入看门狗时钟频率、选择看门狗类型为超时复位、看门狗时钟选择 FOSC_Clock、看门狗溢出时间 0.1 秒、使能 Wdg 时钟分频(固定 256 分频)。如图 1.2.2 所示
▲ 图 1.2.2
1.3 配置 GPT 模块
1.3.1在 Module Configurations 中添加 GPT模块,在 GPT-> GptClockReferencePoint下选择 系统时钟参考点。另新建两个 GPT 时钟参考点,如图 1.3.1 所示
▲ 图 1.3.1
1.3.2 在 GPT-> GptChannelConfiguration 添加两个 GPT Channel
▲ 图 1.3.2
1.3.3 双击 Index 0 进入GPT Channel 配置界面,将名称命名为 GptChannel_WDG、GPT 通道选择为 FTU4_CH0、GPT 通道配置为连续模式、时钟参考点选择GptClockReferencePoint_Ftu4、填入 GPT 通道时钟频率、填入 GPT 通道最大计数值、使能 FTU4 DEBUG、ISR 模式、填入 FTU4 中断回调函数命名为 Wdg_Cbk_GptNotification0 、将 FTU4 设置为时钟 32 分频,时钟输入选择为 PCC。关于 FTU4 时钟分频说明: 在 WDG 模块中我们配置了看门狗硬件溢出时间 0.1 秒(MCAL WDG API 初始化时会将 GPT 触发中断的时间设置为看门狗硬件溢出时间的一半(0.05 秒)),FTU4 的时钟输入源为 24Mhz 、分频 32 后计算得出 0.75MHz、FTU4 最大计数值为 65535 ,计算得出 FTU4 计数溢出中断时间为 0.08738 秒,在看门狗的硬件溢出时间内进行了喂狗操作,不会使系统硬件复位。