/** ****************************************************************************** * File Name : COMP.c * Description : This file provides code for the configuration * of the COMP instances. ****************************************************************************** * @attention * *

© Copyright (c) 2021 STMicroelectronics. * All rights reserved.

* * This software component is licensed by ST under BSD 3-Clause license, * the "License"; You may not use this file except in compliance with the * License. You may obtain a copy of the License at: * opensource.org/licenses/BSD-3-Clause * ****************************************************************************** */ /* Includes ------------------------------------------------------------------*/ #include "comp.h" /* USER CODE BEGIN 0 */ /* USER CODE END 0 */ /* COMP1 init function */ void MX_COMP1_Init(void) { LL_COMP_InitTypeDef COMP_InitStruct = {0}; LL_GPIO_InitTypeDef GPIO_InitStruct = {0}; LL_AHB1_GRP1_EnableClock(LL_AHB1_GRP1_PERIPH_GPIOA); /**COMP1 GPIO Configuration PA0 ------> COMP1_INM PA1 ------> COMP1_INP PA11 ------> COMP1_OUT */ GPIO_InitStruct.Pin = LL_GPIO_PIN_0; GPIO_InitStruct.Mode = LL_GPIO_MODE_ANALOG; GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; LL_GPIO_Init(GPIOA, &GPIO_InitStruct); GPIO_InitStruct.Pin = LL_GPIO_PIN_1; GPIO_InitStruct.Mode = LL_GPIO_MODE_ANALOG; GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; LL_GPIO_Init(GPIOA, &GPIO_InitStruct); GPIO_InitStruct.Pin = LL_GPIO_PIN_11; GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_LOW; GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; GPIO_InitStruct.Alternate = LL_GPIO_AF_7; LL_GPIO_Init(GPIOA, &GPIO_InitStruct); /* COMP1 interrupt Init */ NVIC_SetPriority(ADC1_COMP_IRQn, 1); NVIC_EnableIRQ(ADC1_COMP_IRQn); COMP_InitStruct.PowerMode = LL_COMP_POWERMODE_HIGHSPEED; COMP_InitStruct.InputPlus = LL_COMP_INPUT_PLUS_IO1; COMP_InitStruct.InputMinus = LL_COMP_INPUT_MINUS_IO1; COMP_InitStruct.InputHysteresis = LL_COMP_HYSTERESIS_LOW; COMP_InitStruct.OutputSelection = LL_COMP_OUTPUT_NONE; COMP_InitStruct.OutputPolarity = LL_COMP_OUTPUTPOL_NONINVERTED; LL_COMP_Init(COMP1, &COMP_InitStruct); } /* USER CODE BEGIN 1 */ void COMP_EXTI_CONFIG(void) { LL_COMP_Enable(COMP1); LL_EXTI_InitTypeDef EXTI_InitStruct = {0}; EXTI_InitStruct.Line_0_31 = LL_EXTI_LINE_21; EXTI_InitStruct.LineCommand = ENABLE; EXTI_InitStruct.Mode = LL_EXTI_MODE_IT; EXTI_InitStruct.Trigger = LL_EXTI_TRIGGER_RISING_FALLING; LL_EXTI_Init(&EXTI_InitStruct); LL_EXTI_EnableIT_0_31(LL_EXTI_LINE_21); } /* USER CODE END 1 */ /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/