|
void FM_COMP2Init(void)
{
FL_GPIO_InitTypeDef GPIO_InitStruct = {0};
FL_COMP_InitTypeDef COMP_InitStruct = {0};
/* COMP2 GPIO配置*/
/* COMP2 正端输入 PA8 */
GPIO_InitStruct.pin = FL_GPIO_PIN_8;//GPIO PIN8
GPIO_InitStruct.mode = FL_GPIO_MODE_ANALOG;//模拟功能
GPIO_InitStruct.outputType = FL_GPIO_OUTPUT_PUSHPULL;//推挽输出
GPIO_InitStruct.pull = FL_DISABLE;//关闭上拉
GPIO_InitStruct.remapPin = FL_DISABLE;//关闭数字功能重定向
GPIO_InitStruct.analogSwitch = FL_DISABLE;//关闭模拟开关
FL_GPIO_Init(GPIOA, &GPIO_InitStruct);//初始化GPIO
/* COMP2输出 PC5*/
GPIO_InitStruct.pin = FL_GPIO_PIN_5;//GPIO PIN5
GPIO_InitStruct.mode = FL_GPIO_MODE_DIGITAL;//数字功能
GPIO_InitStruct.outputType = FL_GPIO_OUTPUT_PUSHPULL;//推挽输出
GPIO_InitStruct.pull = FL_DISABLE;//关闭上拉
GPIO_InitStruct.remapPin = FL_ENABLE;//使能数字功能重定向
GPIO_InitStruct.analogSwitch = FL_DISABLE;//关闭模拟开关
FL_GPIO_Init(GPIOC, &GPIO_InitStruct);//初始化GPIO
/* COMP2 配置*/
FL_CMU_EnableGroup1BusClock(FL_CMU_GROUP1_BUSCLK_COMP);//COMP时钟
FL_COMP_SetPowerMode(COMP2, FL_COMP_POWER_MODE_HIGH);//比较器功耗模式
COMP_InitStruct.negativeInput = FL_COMP_INN_SOURCE_DAC;//COPM2负端输入选择DAC
COMP_InitStruct.positiveInput = FL_COMP_INP_SOURCE_INP1;//COPM2正端输入选择PIN
COMP_InitStruct.edge = FL_COMP_INTERRUPT_EDGE_BOTH;//上升下降沿
COMP_InitStruct.polarity = FL_COMP_OUTPUT_POLARITY_NORMAL;//正常极性
COMP_InitStruct.digitalFilter = FL_DISABLE;//滤波
COMP_InitStruct.digitalFilterLen = FL_COMP_OUTPUT_FILTER_WINDOW_3APBCLK;//滤波长度
FL_COMP_Init(COMP2, &COMP_InitStruct);//初始化COMP2
FL_COMP_DisableIT_Comparator2(COMP);//禁止COMP2中断
FL_COMP_Disable(COMP2);//关闭 COMP2
}
|
|