// PA器件驱动(GPIO模拟)
// 杭州秒寻科技有限公司
// 周涛
// 2023-10-01
// 注意：在使用读写接口前，请先根据项目具体使用GPIO管脚替换头文件中的9个宏

#ifndef DRIVERPAGPIO_H
#define DRIVERPAGPIO_H

#include "sysdef.h"

////18个宏定义，需要根据项目具体使用的GPIO管脚修改
////PA1
// FAULT定义
#define DRIVER_PAGPIO_FAULT_CLK RCC_AHB1Periph_GPIOA // 注意：需要根据项目修改
#define DRIVER_PAGPIO_FAULT_PORT GPIOA               // 注意：需要根据项目修改
#define DRIVER_PAGPIO_FAULT_PIN GPIO_Pin_4           // 注意：需要根据项目修改

// SD管脚定义
#define DRIVER_PAGPIO_SD_CLK RCC_AHB1Periph_GPIOE // 注意：需要根据项目修改
#define DRIVER_PAGPIO_SD_PORT GPIOE               // 注意：需要根据项目修改
#define DRIVER_PAGPIO_SD_PIN GPIO_Pin_10          // 注意：需要根据项目修改
// GAIN0管脚定义
#define DRIVER_PAGPIO_GAIN0_CLK RCC_AHB1Periph_GPIOA // 注意：需要根据项目修改
#define DRIVER_PAGPIO_GAIN0_PORT GPIOA               // 注意：需要根据项目修改
#define DRIVER_PAGPIO_GAIN0_PIN GPIO_Pin_6           // 注意：需要根据项目修改
// GAIN1管脚定义
#define DRIVER_PAGPIO_GAIN1_CLK RCC_AHB1Periph_GPIOC // 注意：需要根据项目修改
#define DRIVER_PAGPIO_GAIN1_PORT GPIOC               // 注意：需要根据项目修改
#define DRIVER_PAGPIO_GAIN1_PIN GPIO_Pin_4           // 注意：需要根据项目修改

// 供外部使用的接口
void driver_pagpio_init();
void driver_pagpio_switch(uint8 byBitValue);
void driver_pagpio_set_gain(uint8 byGain);

#endif
