请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
主题中讨论的其他器件:CC2530大家好
我想在 P12,I 时将 PWM 输出设置为通道0、使用 hal_dimer.c API 函数,并像下面:一样进行编码
PERCFG |= BV (6);//选择定时器1备用2位置 P1SEL |= BV (2);//将 P1_2设置为外设 P_HalTimer1Init (0); P_halTimer1SetChannelDuty (HAL_T1_CH0、50);
P_HalTimer1Init (0);函数遵循 hal_dimer.c 、并且 它仅 在计时器1中定义通道0
void P_HalTimer1Init (halTimerCBack_t cBack) { T1CCTL0 = 0;//确保中断被禁用*// //T1CCTL1 = 0;//确保中断被禁用*// //T1CCTL2 = 0;//确保中断被禁用*// T1CCTL3 = 0;*确保中断被禁用*/ T1CCTL4 = 0; /*确保中断被禁用*// *设置 timer0的预分频和时钟*/ halTimerRecord[HW_TIMER_1].prescale = HAL_Timer1_16_prescale; halTimerRecord[HW_TIMER_1].clock = HAL_TIMER_32MHz; halTimerRecord[HW_TIMER_1].prescaleVal = HAL_Timer1_16_prescale_VAL; //设置 Timer1通道结构*/ halTimer1Channel[0].TxCCTL = TCn_Tch1CCTL;halTimer1Channel[0].TchthalTimer1H_TxCC0].TxCCTxTimer0].TchthalTimer0_TchthalTimer0_TxCCTxCCTL; halTimer1chTimer0_TchthalTimer0_TchthalTimer0_TxCC0_TchthalTimer0_TxCC0]= Tcht = HAL_Timer1_OPMODE_UPDOWN; halTimerRecord[HW_TIMER_1].channel = 0; halTimerRecord[HW_TIMER_1].channelMode = 0; halTimerRecord[HW_TIMER_1].intEnable = false; halTimerRecord[HW_TIMER_1].callBackFunc = cBack; Timer1MaxCount = halTimer1SetPeriod (4292);// 233Hz halTimerSetPrescale (HW_TIMER_1、halTimerRecord[HW_TIMER_1].halcale);halTimer1_channelTimerMode[HW_1 、HW_Chtimer1、channel1、halTimerRecord_channel1 RFIRQ=0、IM=0、切换模式 halTimer1SetChannelCCTL (HAL_T1_CH0、0、0、0、 HAL_Timer1_CH0_CMP_MODE_TOG_ON_COMP、1、HAL_Timer1_CH_CAP_MODE_NO); //halTimer1SetChannelCCTL (HAL_T1_CH0、0、 1、HAL_Timer1_CH0_CMP_MODE_SET_ON_COMP、1、HAL_Timer1_CH_CAP_MODE_NO); //halTimer1SetChannelCCTL (HAL_T1_CH1、 0、1、HAL_Timer1_CHN_CMP_MODE_CLR_ON_COMP_SET_ON_0、1、HAL_Timer1_CH_CAP_MODE_NO); //halTimer1SetChannelCCTL (HAL_T1_CH2、0、1、HAL_Timer1_CHN_CMP_MODE_CLR_ON_COMP_SET_ON_0、1、 HAL_Timer1_CH_CAP_MODE_NO); //halTimer1SetChannelCCTL (HAL_T1_CH3、0、1、HAL_Timer1_CHN_CMP_MODE_CLR_ON_COMP_SET_ON_0、 1、HAL_Timer1_CH_CAP_MODE_NO); //halTimer1SetChannelCCTL (HAL_T1_CH4、0、1、 HAL_Timer1_CHN_CMP_MODE_CLR_ON_COMP_SET_ON_0、1、HAL_Timer1_CH_CAP_MODE_NO); //P_halTimer1SetChannelDuty (HAL_T1_CH1、0); //P_halTimer1SetChannelDuty (HAL_T1_CH2、0); //P_halTimer1SetChannelDuty (HAL_T1_CH3、 0); //P_halTimer1SetChannelDuty (HAL_T1_CH4、0); //设置定时器1运行模式*/ T1CTL &=~(HAL_Timer1_OPMODE_Bits); T1CTL |= HAL_Timer1_OPMODE_UPDOWN; }
但 P12中没有任何内容?
如果 它正常工作,我如何停止和启动它?
巴西!
