DCC双时钟比较

1.static inline bool DCC_isBaseValid(uint32_t base)

  • 函数功能:此函数确定DCC模块的基地址是否有效
  • 参数说明:base:指定DCC模块的基地址
  • 输入参数:base为DCC0_BASE
  • 返回参数:如果基地址有效,则返回true;否则返回false

2.static inline void DCC_enableModule(uint32_t base)

  • 函数功能:此函数启动DCC计数器操作
  • 参数说明:base:DCC模块的基地址
    • 输入参数:base为DCC0_BASE
    • 返回参数:无

3.static inline void DCC_disableModule(uint32_t base) - 函数功能:此函数停止DCC计数器操作 - 参数说明:base:DCC模块的基地址 - 输入参数:base为DCC0_BASE - 返回参数:无

4.static inline void DCC_enableErrorSignal(uint32_t base) - 函数功能:此函数启用错误信号的中断 - 参数说明:base:DCC模块的基地址 - 输入参数:base为DCC0_BASE - 返回参数:无

5.static inline void DCC_enableDoneSignal(uint32_t base) - 函数功能:此函数启用完成信号的中断 - 参数说明:base:DCC模块的基地址 - 输入参数:base为DCC0_BASE - 返回参数:无

6.static inline void DCC_disableErrorSignal(uint32_t base)

  • 函数功能:此函数禁用错误信号的中断
  • 参数说明:base:DCC模块的基地址
    • 输入参数:base为DCC0_BASE
    • 返回参数:无

7.static inline void DCC_disableDoneSignal(uint32_t base)

  • 函数功能:此函数禁用完成信号的中断
  • 参数说明:base:DCC模块的基地址
    • 输入参数:base为DCC0_BASE
    • 返回参数:无

8.static inline void DCC_enableSingleShotMode(uint32_t base, DCC_SingleShotMode mode)

  • 函数功能:此函数启用单次模式并设置操作模式
  • 参数说明:base:DCC模块的基地址;mode有两个模式,一种为当counter0和valid0都达到零时停止计数,一种为当counter1达到零时停止计数
    • 输入参数:base为DCC0_BASE; mode可选DCC_MODE_COUNTER_ZERO或者DCC_MODE_COUNTER_ONE
    • 返回参数:无

9.static inline void DCC_disableSingleShotMode(uint32_t base)

  • 函数功能:此函数禁用DCC单次操作模式
  • 参数说明:base:DCC模块的基地址
    • 输入参数:base为DCC0_BASE
    • 返回参数:无

10.static inline bool DCC_getErrorStatus(uint32_t base) - 函数功能:此函数获取错误标志状态 - 参数说明:base:DCC模块的基地址 - 输入参数:base为DCC0_BASE - 返回参数:如果发生错误,则返回true;如果没有发生错误,则返回false

11.static inline bool DCC_getSingleShotStatus(uint32_t base)

  • 函数功能:此函数获取单次完成标志状态
  • 参数说明:base:DCC模块的基地址
    • 输入参数:base为DCC0_BASE
    • 返回参数:如果单次模式已完成,则返回true;如果单次模式未完成,则返回false。

12.static inline void DCC_clearErrorFlag(uint32_t base)

  • 函数功能:此函数清除DCC错误状态标志。
  • 参数说明:base:DCC模块的基地址
    • 输入参数:base为DCC0_BASE
    • 返回参数:无

13.static inline void DCC_clearDoneFlag(uint32_t base) - 函数功能:此函数清除DCC单次完成状态标志。 - 参数说明:base:DCC模块的基地址 - 输入参数:base为DCC0_BASE - 返回参数:无

14.static inline uint32_t DCC_getCounter0Value(uint32_t base)

  • 函数功能:此函数获取计数器0的当前值。
  • 参数说明:base:DCC模块的基地址
    • 输入参数:base为DCC0_BASE
    • 返回参数:返回计数器0的当前值

15.static inline uint16_t DCC_getValidCounter0Value(uint32_t base)

  • 函数功能:此函数获取计数器0的有效持续时间计数器的当前值
  • 参数说明:base:DCC模块的基地址
    • 输入参数:base为DCC0_BASE
    • 返回参数:返回有效持续时间计数器的当前值

16.static inline uint32_t DCC_getCounter1Value(uint32_t base)

  • 函数功能:此函数获取计数器1的当前值
  • 参数说明:base:DCC模块的基地址
    • 输入参数:base为DCC0_BASE
    • 返回参数:返回计数器1的当前值

17.static inline void DCC_setCounter1ClkSource(uint32_t base, DCC_Count1ClockSource source)

  • 函数功能:此函数设置计数器1的时钟源
  • 参数说明:base:DCC模块的基地址;source:选定的计数器1的时钟源
    • 输入参数:base为DCC0_BASE; source可选为DCC_COUNT1SRC_PLL或DCC_COUNT1SRC_INTOSC1或DCC_COUNT1SRC_INTOSC2
    • 返回参数:无

18.static inline void DCC_setCounter0ClkSource(uint32_t base, DCC_Count0ClockSource source)

  • 函数功能:此函数设置计数器0的时钟源
  • 参数说明:base:DCC模块的基地址;source:选定的计数器0的时钟源
    • 输入参数:base为DCC0_BASE; source可选为DCC_COUNT0SRC_XTAL或DCC_COUNT0SRC_INTOSC1或DCC_COUNT0SRC_INTOSC2
    • 返回参数:无

19.static inline uint16_t DCC_getCounter1ClkSource(uint32_t base)

  • 函数功能:此函数获取计数器1有哪些时钟源
  • 参数说明:base:DCC模块的基地址
    • 输入参数:base为DCC0_BASE
    • 返回参数:从所有的DCC_Count1ClockSource中返回计数器1的时钟源

20.static inline uint16_t DCC_getCounter0ClkSource(uint32_t base)

  • 函数功能:此函数获取计数器0有哪些时钟源
  • 参数说明:base:DCC模块的基地址
    • 输入参数:base为DCC0_BASE
    • 返回参数:从所有的DCC_Count0ClockSource 中返回计数器0的时钟源

21.static inline void DCC_setCounterSeeds(uint32_t base, uint32_t counter0, uint32_t validCounter0, uint32_t counter1) - 函数功能:此函数设置计数器0、有效持续时间计数器0和计数器1的种子值 - 参数说明:base:DCC模块的基地址;counter0:设置加载到计数器0的种子值;validCounter0:设置加载到计数器0的有效持续时间计数器的种子值;counter1:设置加载到计数器1的种子值 - 输入参数:base为DCC0_BASE; counter0,validCounter0,counter1为函数计算的结果 - 返回参数:无

22.extern uint16_t DCC_getRevisionNumber(uint32_t base, DCC_RevisionNumber identifier)

  • 函数功能:此程序为获取模块的修订号,分为主要修订号和次要修订号
  • 参数说明:base为DCC的地址,identifier为选择主要修订还是次要修订
    • 输入参数:base为DCC0_BASE; identifier为DCC_RevisionNumber中的选项
    • 返回参数:返回主要修订号或者次要修订号

23.extern bool DCC_verifyClockFrequency(uint32_t base, DCC_Count1ClockSource clock1, float32_t freq1, DCC_Count0ClockSource clock0, float32_t freq0, float32_t tolerance, float32_t freqerr, float32_t freq_sysclk)

  • 函数功能:此程序使用clocksource0时钟作为参考时钟来验证clocksource1时钟的频率。双时钟比较器模块用于时钟验证。种子是加载到计数器中的值。
  • 参数说明:base:DCC模块的基地址;clock1:待验证的时钟源;freq1:待验证的时钟源的频率;clock0:参考时钟;freq0:参考时钟的频率;tolerance:DCC误差容限(百分比);freqerr:允许的频率容差(百分比);freq_sysclk:系统时钟的频率
    • 输入参数:base为DCC0_BASE; clock1为时钟源1; freq1为时钟1频率; clock0为时钟源0; freq0为时钟0频率; tolerance误差容忍度; freqerr允许的频率误差; freq_sysclk:系统时钟的频率
    • 返回参数:bool,验证两个时钟是否能够接受。

24.extern float32_t DCC_measureClockFrequency(uint32_t base, DCC_Count1ClockSource clock1, DCC_Count0ClockSource clock0, float32_t freq0, float32_t tolerance, float32_t freqerr, float32_t freq_sysclk)

  • 函数功能:此程序演示了使用clocksource0作为参考时钟对clocksource1时钟进行微调后的单次测量。双时钟比较器模块用于时钟测量。
  • 参数说明:base:DCC模块的基地址;clock1:待验证的时钟源;clock0:参考时钟;freq0:参考时钟的频率;tolerance:DCC误差容限(百分比);freqerr:允许的频率容差(百分比);freq_sysclk:系统时钟的频率
    • 输入参数:base为DCC0_BASE; clock1为时钟源1; clock0为时钟源0; freq0为时钟0频率; tolerance误差容忍度; freqerr允许的频率误差; freq_sysclk:系统时钟的频率
    • 返回参数:被测量时钟的频率

25.extern void DCC_continuousMonitor(uint32_t base, DCC_Count1ClockSource clock1, float32_t freq1, DCC_Count0ClockSource clock0, float32_t freq0, float32_t tolerance, float32_t freqerr, float32_t freq_sysclk)

  • 函数功能:此程序演示了使用clocksource0作为参考时钟对系统中的clocksource1时钟进行连续监控。任何错误都会触发中断,导致计数器递减/重新加载停止。
  • 参数说明:base:DCC模块的基地址;clock1:待验证的时钟源;freq1:待验证的时钟源的频率;clock0:参考时钟;freq0:参考时钟的频率;tolerance:DCC误差容限(百分比);freqerr:允许的频率容差(百分比);freq_sysclk:系统时钟的频率
    • 输入参数:base为DCC0_BASE; clock1为时钟源1; freq1为时钟1频率; clock0为时钟源0; freq0为时钟0频率; tolerance误差容忍度; freqerr允许的频率误差; freq_sysclk:系统时钟的频率
    • 返回参数:无