本帖最后由 陌路独白 于 2021-1-26 11:23 编辑
谢谢,根据提示修改,已经进入中断,具体功能请再自行研究。- /*
- * @Descripttion:
- * @version:
- * @Author: Youliangxin
- * @Date: 2021-01-25 17:24:57
- * @LastEditors: sueRimn
- * @LastEditTime: 2021-01-26 11:17:42
- */
- #include "adt.h"
- #include "gpio.h"
- #define SET_LED Gpio_SetIO(1, 5, 1)
- #define CLR_LED Gpio_SetIO(1, 5, 0)
- void Adt4UnderFullCalllback(void)
- {
- static uint8_t i;
- i++;
- if (i % 2 == 0)
- {
- SET_LED;
- }
- else
- {
- CLR_LED;
- }
- }
- void Time_4_Init(void)
- {
- uint16_t u16Period;
- stc_adt_basecnt_cfg_t stcAdtBaseCntCfg;
- DDL_ZERO_STRUCT(stcAdtBaseCntCfg);
- if (Ok != Clk_SetPeripheralGate(ClkPeripheralAdt, TRUE)) //ADT外设时钟使能
- {
- return;
- }
- stcAdtBaseCntCfg.enCntMode = AdtSawtoothMode;
- stcAdtBaseCntCfg.enCntDir = AdtCntUp;
- stcAdtBaseCntCfg.enCntClkDiv = AdtClkPClk0Div256;
- Adt_Init(AdTIM4, &stcAdtBaseCntCfg); //ADT载波、计数模式、时钟配置
- u16Period = 46875; //12000000/256 = 46875 周期设置为1S中断一次
- Adt_SetPeriod(AdTIM4, u16Period); //周期设置
- Adt_ConfigIrq(AdTIM4, AdtOVFIrq, TRUE, Adt4UnderFullCalllback); //中断配置
- Adt_StartCount(AdTIM4);
- /*LED初始化*/
- Gpio_InitIO(1, 5, GpioDirOut);
- Gpio_SetIO(1, 5, 1);
- }
- /******************************************************************************
- * EOF (not truncated)
- ******************************************************************************/
|