在线时间37 小时
UID3533948
注册时间2020-7-22
NXP金币12
该用户从未签到
中级会员
 
- 积分
- 382
- 最后登录
- 2025-3-3
|
发表于 2021-9-24 14:51:08
|
显示全部楼层
- #include "qtimer_enc.h"
- #include "fsl_debug_console.h"
- #include "fsl_iomuxc.h"
- void BOARD_InitQtimerPins()
- {
- IOMUXC_SetPinMux(IOMUXC_GPIO_AD_06_TMR4_TIMER2,0);
- IOMUXC_SetPinMux(IOMUXC_GPIO_AD_04_TMR4_TIMER0,0);
- }
- void Qtimer_Cascade_Mode()
- {
- qtmr_config_t qtmrConfig;
-
- QTMR_GetDefaultConfig(&qtmrConfig);
- qtmrConfig.primarySource = kQTMR_ClockCounter0Output;
- qtmrConfig.secondarySource = kQTMR_Counter0InputPin;
- QTMR_Init(TMR4, kQTMR_Channel_1, &qtmrConfig);
- QTMR_Deinit(TMR4, kQTMR_Channel_1);
- QTMR_Init(TMR4, kQTMR_Channel_1, &qtmrConfig);
- TMR4->CHANNEL[kQTMR_Channel_1].CSCTRL = 0;
- TMR4->CHANNEL[kQTMR_Channel_1].COMP1 = 0XFFFF;
- QTMR_StartTimer(TMR4, kQTMR_Channel_1, kQTMR_CascadeCount);
-
- }
- void qtimer_quad_init()
- {
- BOARD_InitQtimerPins();
- qtmr_config_t qtmrConfig;
-
- QTMR_GetDefaultConfig(&qtmrConfig);
- qtmrConfig.primarySource = kQTMR_ClockCounter0InputPin; //通道A
- qtmrConfig.secondarySource = kQTMR_Counter2InputPin; //通道B
- QTMR_Init(TMR4, kQTMR_Channel_0, &qtmrConfig); //第一次初始化便于打开时钟
- QTMR_Deinit(TMR4, kQTMR_Channel_0); //复位外设
- QTMR_Init(TMR4, kQTMR_Channel_0, &qtmrConfig); //重新初始化设置正确的参数
- TMR4->CHANNEL[kQTMR_Channel_0].CSCTRL = 0;
- TMR4->CHANNEL[kQTMR_Channel_0].COMP1 = 0XFFFF;
- QTMR_StartTimer(TMR4, kQTMR_Channel_0, kQTMR_QuadCountMode);
- Qtimer_Cascade_Mode();
-
- }
- uint32_t qtimer_quad_get()
- {
- return (QTMR_GetCurrentTimerCount(TMR4, kQTMR_Channel_0) + QTMR_GetCurrentTimerCount(TMR4, kQTMR_Channel_1) * 65535);
- }
复制代码
试试这个,正转增大,反转减小 |
|