12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- #include "hal_pwm.h"
- //PE2--TIMA_3_PWM5 PE3--TIMA_3_PWM6
- void time_pwm_out(void)
- {
- stc_tmra_init_t stcTmraInit;
- stc_tmra_pwm_init_t stcPwmInit;
- /* 1. Enable TimerA peripheral clock. */
- FCG_Fcg2PeriphClockCmd(FCG2_PERIPH_TMRA_3, ENABLE);
- /* 2. Set a default initialization value for stcTmraInit. */
- (void)TMRA_StructInit(&stcTmraInit);
- /* 3. Modifies the initialization values depends on the application. */
- stcTmraInit.sw_count.u16CountMode = TMRA_MD1;
- stcTmraInit.sw_count.u16CountDir = TMRA_DIR1;
- stcTmraInit.u32PeriodValue = TMRA_PERIOD_VAL1;
- (void)TMRA_Init(TMRA_UNIT1, &stcTmraInit);
- /* 4. Set the comparison reference value. */
- (void)TMRA_PWM_StructInit(&stcPwmInit);
- stcPwmInit.u32CompareValue = TMRA_PWM_CMP_VAL1;
- GPIO_SetFunc(TMRA_PWM_PORT1, TMRA_PWM_PIN1, TMRA_PWM_PIN_FUNC1);
- (void)TMRA_PWM_Init(TMRA_UNIT1, TMRA_PWM_CH1, &stcPwmInit);
- TMRA_PWM_OutputCmd(TMRA_UNIT1, TMRA_PWM_CH1, ENABLE);
-
-
- /* 3. Modifies the initialization values depends on the application. */
- stcTmraInit.sw_count.u16CountMode = TMRA_MD2;
- stcTmraInit.sw_count.u16CountDir = TMRA_DIR2;
- stcTmraInit.u32PeriodValue = TMRA_PERIOD_VAL2;
- (void)TMRA_Init(TMRA_UNIT2, &stcTmraInit);
- /* 4. Set the comparison reference value. */
- (void)TMRA_PWM_StructInit(&stcPwmInit);
- stcPwmInit.u32CompareValue = TMRA_PWM_CMP_VAL2;
- GPIO_SetFunc(TMRA_PWM_PORT2, TMRA_PWM_PIN2, TMRA_PWM_PIN_FUNC2);
- (void)TMRA_PWM_Init(TMRA_UNIT2, TMRA_PWM_CH2, &stcPwmInit);
- TMRA_PWM_OutputCmd(TMRA_UNIT2, TMRA_PWM_CH2, ENABLE);
-
-
- TMRA_Start(TMRA_UNIT1);
- }
|