82 lines
1.7 KiB
C
82 lines
1.7 KiB
C
//
|
|
// Created by Cfif on 14.12.23.
|
|
//
|
|
#include <stdbool.h>
|
|
#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);
|
|
|
|
}
|