硬汉嵌入式论坛

 找回密码
 立即注册
查看: 3877|回复: 8
收起左侧

[运放/比较器] H743 COMP1 使用不正常

[复制链接]

29

主题

97

回帖

184

积分

初级会员

积分
184
发表于 2020-9-10 13:45:33 | 显示全部楼层 |阅读模式
H743的 COMP1 使用不正常,在模拟电压输入 还没有达到REF时候,以上电运行会无缘无故进两次中断,, 手册这一章写的太简单了,用例程和 CuMX生成的 现象一样。有没有哪位大侠遇到过

初始化配置
void MX_COMP1_Init(void)
{

  hcomp1.Instance = COMP1;
  hcomp1.Init.InvertingInput = COMP_INPUT_MINUS_VREFINT;
  hcomp1.Init.NonInvertingInput = COMP_INPUT_PLUS_IO1;
  hcomp1.Init.OutputPol = COMP_OUTPUTPOL_NONINVERTED;
  hcomp1.Init.Hysteresis = COMP_HYSTERESIS_HIGH;
  hcomp1.Init.BlankingSrce = COMP_BLANKINGSRC_NONE;
  hcomp1.Init.Mode = COMP_POWERMODE_HIGHSPEED;
  hcomp1.Init.WindowMode = COMP_WINDOWMODE_DISABLE;
  hcomp1.Init.TriggerMode = COMP_TRIGGERMODE_IT_FALLING;
  if (HAL_COMP_Init(&hcomp1) != HAL_OK)
  {
    Error_Handler();
  }

}

void HAL_COMP_MspInit(COMP_HandleTypeDef* compHandle)
{

  GPIO_InitTypeDef GPIO_InitStruct = {0};
  if(compHandle->Instance==COMP1)
  {
  /* USER CODE BEGIN COMP1_MspInit 0 */

  /* USER CODE END COMP1_MspInit 0 */
    /* COMP1 clock enable */
    __HAL_RCC_COMP12_CLK_ENABLE();

    __HAL_RCC_GPIOB_CLK_ENABLE();
    /**COMP1 GPIO Configuration   
    PB0     ------> COMP1_INP
    */
    GPIO_InitStruct.Pin = GPIO_PIN_0;
    GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
    GPIO_InitStruct.Pull = GPIO_NOPULL;
    HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);

    /* COMP1 interrupt Init */
    HAL_NVIC_SetPriority(COMP_IRQn, 0, 0);
    HAL_NVIC_EnableIRQ(COMP_IRQn);
  /* USER CODE BEGIN COMP1_MspInit 1 */

  /* USER CODE END COMP1_MspInit 1 */
  }
}


主程序

int main(void)
{
  /* USER CODE BEGIN 1 */

  /* USER CODE END 1 */

  /* MCU Configuration--------------------------------------------------------*/

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();

  /* USER CODE BEGIN Init */

  /* USER CODE END Init */

  /* Configure the system clock */
  SystemClock_Config();

  /* USER CODE BEGIN SysInit */

  /* USER CODE END SysInit */

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  MX_COMP1_Init();
  /* USER CODE BEGIN 2 */
   if(HAL_COMP_Start_IT(&hcomp1) != HAL_OK)
  {
    /* Initialization Error */
    Error_Handler();
  }
  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */
}




中断
/**
  * @brief This function handles COMP1 and COMP2 interrupts through EXTI lines 20 and 21.
  */
void COMP_IRQHandler(void)
{
  /* USER CODE BEGIN COMP_IRQn 0 */

  /* USER CODE END COMP_IRQn 0 */
  HAL_COMP_IRQHandler(&hcomp1);
  /* USER CODE BEGIN COMP_IRQn 1 */

  /* USER CODE END COMP_IRQn 1 */
}





回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106760
QQ
发表于 2020-9-11 05:56:37 | 显示全部楼层
我用过,正常

STM32H7的比较器消隐功能测试
http://www.armbbs.cn/forum.php?m ... 9494&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

29

主题

97

回帖

184

积分

初级会员

积分
184
 楼主| 发表于 2020-9-12 08:30:59 | 显示全部楼层
硬汉兄, 我是外面模拟电压接入PB0,  参考用的Vref 1.22V 左右,      没有用消隐,不知我上面的配置代码对不对, 每次一运行,没有动给定电压(1.6V左右)就会进入COMP1中断一次,
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106760
QQ
发表于 2020-9-12 08:43:47 | 显示全部楼层
wgp2590 发表于 2020-9-12 08:30
硬汉兄, 我是外面模拟电压接入PB0,  参考用的Vref 1.22V 左右,      没有用消隐,不知我上面的配置代码 ...

你试试我这种的,正常吗,用CubeMX生成个。
回复

使用道具 举报

29

主题

97

回帖

184

积分

初级会员

积分
184
 楼主| 发表于 2020-9-13 16:17:16 | 显示全部楼层
你没有用COMP1的中断?我置顶的帖子就是CuMX生成的, 我只配置了COMP1, 没有配置其他的,需要配置TIM吗?
我用的下面这个 start,
if(HAL_COMP_Start_IT(&hcomp1) != HAL_OK)
回复

使用道具 举报

29

主题

97

回帖

184

积分

初级会员

积分
184
 楼主| 发表于 2020-9-13 16:22:17 | 显示全部楼层
用的这个生成的工程 COMP1.rar (34.91 MB, 下载次数: 4)
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106760
QQ
发表于 2020-9-14 11:05:53 | 显示全部楼层
wgp2590 发表于 2020-9-13 16:17
你没有用COMP1的中断?我置顶的帖子就是CuMX生成的, 我只配置了COMP1, 没有配置其他的,需要配置TIM吗?
...

有时间我看看,就H7发布那会看了,后来就再也没有看过了。
回复

使用道具 举报

0

主题

19

回帖

19

积分

新手上路

积分
19
发表于 2020-9-28 09:27:47 | 显示全部楼层
只是初始化了,没有使能
回复

使用道具 举报

29

主题

97

回帖

184

积分

初级会员

积分
184
 楼主| 发表于 2020-9-28 23:08:06 | 显示全部楼层
start了,  
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-5 02:34 , Processed in 0.216895 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表