// // Created by Cfif on 14.12.23. // #include #include "fc7xxx_driver_port.h" #include "Pwms.h" tPwms PWMS; void Bsp_Tpu_PwmCallback(void) { Get_Set_Tpu_PwmCallback(&PWMS.pwm); } void Bsp_Tpu_OverflowCallBack(void) { asm("nop"); } void Bsp_Tpu_PwmCaptureCallback(void) { Get_Set_Tpu_PwmCaptureCallback(&PWMS.pwmCapture); } void Bsp_Tpu_Capture_OverflowCallBack(void) { asm("nop"); } void Pwms_Init() { tPwms *env = &PWMS; PORT_InitType tInitStruct = {0}; /* // TPU_CH0: PortB 10: ALT6 tInitStruct.u32PortPins = PORT_PIN_10; tInitStruct.uPortPinMux.u32PortPinMode = PORT_ALT6_FUNC_MODE; PORT_InitPins(PORT_B, &tInitStruct); */ /* // TPU_CH0: PortA 18: ALT4 tInitStruct.u32PortPins = PORT_PIN_18; tInitStruct.uPortPinMux.u32PortPinMode = PORT_ALT4_FUNC_MODE; PORT_InitPins(PORT_A, &tInitStruct); */ // TPU_CH0: PortB 8: ALT5 tInitStruct.u32PortPins = PORT_PIN_8; tInitStruct.uPortPinMux.u32PortPinMode = PORT_ALT5_FUNC_MODE; PORT_InitPins(PORT_B, &tInitStruct); PWM_Initial( &env->pwm, true, PERIOD_TICKS, PERIOD_TICKS * 5 / 100, 0U, 0xFF, Bsp_Tpu_PwmCallback, Bsp_Tpu_OverflowCallBack ); env->pwmIo = vPwmGetIo(&env->pwm); // TPU_CH1: PortA 0: ALT5 tInitStruct.u32PortPins = PORT_PIN_0; tInitStruct.uPortPinMux.u32PortPinMode = PORT_ALT5_FUNC_MODE; PORT_InitPins(PORT_A, &tInitStruct); PWM_Capture_Initial( &env->pwmCapture, false, 1U, 0xFF, Bsp_Tpu_PwmCaptureCallback, Bsp_Tpu_Capture_OverflowCallBack ); env->pwmCaptureIO = vPwmCaptureGetIo(&env->pwmCapture); }