/********************************************************************************
 * @file    Function_Init_.h
 * @author  SOC AE Team
 * @version V1.1
 * @date    2025-06-27
 * @brief	
 *
 *******************************************************************************/
#ifndef _Function_Init_H_
#define _Function_Init_H_

#include "sc32_conf.h"
#include "stdio.h"

#define TestNum 1


void GPIO_InOut_Function(void);

void ADC_SingleConversion_Function(void);
void ADC_SingleConversion_ADCHandler(void);

uint16_t ADC_AverageValue(void);
#if defined(SC32f10xx) || defined(SC32f12xx)
void ADC_CycleConversion_DMA_Function(void);
void ADC_CycleConversion_DMAHandler(void);

#endif
void BTM_Base_Function(void);
void BTM_BTMHandler(void);
#if defined(SC32f10xx)|| defined(SC32f12xx)
void CMP_AnalogWatchdog_Function(void);
void CMP_AnalogWatchdog_CMPHandler(void);
#endif

void CMP_Interrupt_Function(void);
#if defined(SC32f10xx) || defined(SC32f12xx)
void CMP_Interrupt_CMPHandler(void);

#endif

void CRC_CalculateArrays_Function(void);

void DMA_Burst_Function(void);

void DMA_Pause_Function(void);

void DMA_ScatterGather_Function(void);

void INT_Example_Function(void);
void INT_Example_INT0Handler(void);
void INT_Example_INT1_7Handler(void);
void INT_Example_INT8_11_Handler(void);
void INT_Example_INT12_15_Handler(void);

void IAP_Program_Function(void);
#if defined(SC32f10xx) || defined(SC32f12xx)
void LCD_Example_Function(void);

void LED_Example_Function(void);
#endif
void OP_AmplifiesVoltage_Function(void);
void OP_AmplifiesVoltage_ADCHandler(void);

void PWM_Independent_Function(void);
void PWM_Independent_PWMHandler(void);

void PWM_Complementary_Function(void);
void PWM_Complementary_PWMHandler(void);

void RCC_SystemClockConfig_Function(void);
void SYSTICK_SystemClockConfig_SYSTICKHandler(void);

void SPI_Communication_Function(void);
void SPI_Communication_SPI0Handler(void);
#if defined(SC32f12xx)
void SPI_Communication_SPI1_2_Handler(void);
#elif defined(SC32f10xx)
void SPI_Communication_SPI1_Handler(void);
#endif
void SPI_FIFOMaster_Function(void);
void SPI_FIFOMaster_SPI0Handler(void);
void SPI_FIFOMaster_SPI1Handler(void);

void SPI_FIFOSlave_Function(void);
void SPI_FIFOSlave_SPI0Handler(void);
void SPI_FIFOSlave_SPI1Handler(void);

void SPI_Communication_DMA_Function(void);
void SPI_Communication_DMA_DAM0Handler(void);
void SPI_Communication_DMA_DMA1Handler(void);

void TIM_TimeBase_Function(void);
void TIM_TimeBase_TIM0Handler(void);

void TIM_CounterBase_Function(void);
void TIM_CounterBase_TIM1Handler(void);

void TIM_PWMOutput_Function(void);

void TIM_InputCapture_Function(void);
void TIM_InputCapture_TIM1Handler(void);

void TIM_TI_DMA_Function(void);
void TIM_TI_DMA_DMA0Handler(void);

void TWI_Communication_Function(void);
void TWI_Communication_TWI0Handler(void);
void TWI_Communication_TWI1Handler(void);

void TWI_Master_DMA_Function(void);
void TWI_Master_DMA_TWI0Handler(void);
void TWI_Master_DMA_DMA0Handler(void);
void TWI_Master_DMA_DMA1Handler(void);
void TWI_Master_DMA_TWI1Handler(void);

void TWI_Slave_DMA_Function(void);
void TWI_Slave_DMA_TWI0Handler(void);
void TWI_Slave_DMA_TWI1Handler(void);

void UART_Communication_Function(void);
void UART_Communication_UART2Handler(void);



void UART_Communication_DMA_Function(void);
void UART_Communication_DMA_DAM0Handler(void);
void UART_Communication_DMA_DAM1Handler(void);
void UART_LINMaster_Function(void);
void UART_LINMaster_UART2Handler(void);

void UART_LINSlave_Function(void);
void UART_LINSlave_UART2Handler(void);

void LEDPWM_Example_Function(void);
void LEDPWM_Example_LEDPWMHandler(void);

void SYSTICK_Example_Function(void);
void Delay(uint32_t nTime);
void SYSTICK_Example_SYSTICKHandler(void);

void STOP_IDLE_WakeUp_Function(void);
void BTM_WakeUp_BTMHandler(void);
void INT_WakeUp_INT0Handler(void);

void IAP_ReadUID_Example(void);

void SPI_Communication_SPI0_2_Handler(void);
void SPI_Communication_SPI1_3_Handler(void);


#endif

