打印
[STM32G0]

STM32G0 外部触发中断打开,TIM1 无法进入中断

[复制链接]
1146|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jack.king|  楼主 | 2023-8-8 10:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请问下:
STM32G0 外部触发中断打开,TIM1 无法进入中断
但是屏蔽使能外部中断就可以正常进入。
  NVIC_SetPriority(EXTI0_1_IRQn, 0);
  NVIC_EnableIRQ(EXTI0_1_IRQn);

//屏蔽这个就可以。正常进入
什么其他的都不需要改


void MX_GPIO_Init(void)
{

  LL_EXTI_InitTypeDef EXTI_InitStruct = {0};
  LL_GPIO_InitTypeDef GPIO_InitStruct = {0};

  /* GPIO Ports Clock Enable */
  LL_IOP_GRP1_EnableClock(LL_IOP_GRP1_PERIPH_GPIOA);
  LL_IOP_GRP1_EnableClock(LL_IOP_GRP1_PERIPH_GPIOB);

  /**/
  LL_GPIO_SetOutputPin(GPIOA, LL_GPIO_PIN_4|LL_GPIO_PIN_5|LL_GPIO_PIN_6|LL_GPIO_PIN_7);
        //LL_GPIO_SetOutputPin(GPIOB, LL_GPIO_PIN_5|LL_GPIO_PIN_6|LL_GPIO_PIN_7);

  /**/
  LL_EXTI_SetEXTISource(LL_EXTI_CONFIG_PORTA, LL_EXTI_CONFIG_LINE0|LL_EXTI_CONFIG_LINE1|LL_EXTI_CONFIG_LINE2|LL_EXTI_CONFIG_LINE3);

  /**/
  //LL_EXTI_SetEXTISource(LL_EXTI_CONFIG_PORTA, LL_EXTI_CONFIG_LINE1);

  /**/
  EXTI_InitStruct.Line_0_31 = LL_EXTI_LINE_0|LL_EXTI_LINE_1|LL_EXTI_LINE_2|LL_EXTI_LINE_3;
  EXTI_InitStruct.LineCommand = ENABLE;
  EXTI_InitStruct.Mode = LL_EXTI_MODE_IT;
//  EXTI_InitStruct.Trigger = LL_EXTI_TRIGGER_FALLING;
          EXTI_InitStruct.Trigger = LL_EXTI_TRIGGER_RISING_FALLING;
  LL_EXTI_Init(&EXTI_InitStruct);
  /**/
  LL_GPIO_SetPinPull(GPIOA, LL_GPIO_PIN_0|LL_GPIO_PIN_1|LL_GPIO_PIN_2|LL_GPIO_PIN_3, LL_GPIO_PULL_UP);

  /**/
  /**/
  LL_GPIO_SetPinMode(GPIOA, LL_GPIO_PIN_0|LL_GPIO_PIN_1|LL_GPIO_PIN_2|LL_GPIO_PIN_3, LL_GPIO_MODE_INPUT);

  /**/
  GPIO_InitStruct.Pin = LL_GPIO_PIN_0|LL_GPIO_PIN_1|LL_GPIO_PIN_2|LL_GPIO_PIN_3;
  GPIO_InitStruct.Mode = LL_GPIO_MODE_INPUT;
  GPIO_InitStruct.Pull = LL_GPIO_PULL_UP;
  LL_GPIO_Init(GPIOA, &GPIO_InitStruct);//输入


/**/
  GPIO_InitStruct.Pin = LL_GPIO_PIN_7;
  GPIO_InitStruct.Mode = LL_GPIO_MODE_INPUT;
  GPIO_InitStruct.Pull = LL_GPIO_PULL_UP;
  LL_GPIO_Init(GPIOB, &GPIO_InitStruct);//输入

//LED输出
  /**/
  GPIO_InitStruct.Pin = LL_GPIO_PIN_4|LL_GPIO_PIN_5|LL_GPIO_PIN_6|LL_GPIO_PIN_7;
  GPIO_InitStruct.Mode = LL_GPIO_MODE_OUTPUT;
  GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_HIGH;
  GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_OPENDRAIN;
  GPIO_InitStruct.Pull = LL_GPIO_PULL_NO;
  LL_GPIO_Init(GPIOA, &GPIO_InitStruct);
  LL_GPIO_SetOutputPin(GPIOA,LL_GPIO_PIN_4|LL_GPIO_PIN_5|LL_GPIO_PIN_6|LL_GPIO_PIN_7);
  /* EXTI interrupt init*/
  NVIC_SetPriority(EXTI0_1_IRQn, 0);
  NVIC_EnableIRQ(EXTI0_1_IRQn);

}



/* TIM1 init function */
void MX_TIM1_Init(void)
{

  /* USER CODE BEGIN TIM1_Init 0 */

  /* USER CODE END TIM1_Init 0 */

  LL_TIM_InitTypeDef TIM_InitStruct = {0};

  /* Peripheral clock enable */
  LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_TIM1);

  /* TIM1 interrupt Init */
  NVIC_SetPriority(TIM1_BRK_UP_TRG_COM_IRQn, 0);
  NVIC_EnableIRQ(TIM1_BRK_UP_TRG_COM_IRQn);

  /* USER CODE BEGIN TIM1_Init 1 */

  /* USER CODE END TIM1_Init 1 */
  TIM_InitStruct.Prescaler = 64 - 1;
  TIM_InitStruct.CounterMode = LL_TIM_COUNTERMODE_UP;//32
  TIM_InitStruct.Autoreload = 100;//64*2 - 55;//64*2 - 55 大约2.1US
        //TIM_InitStruct.Autoreload = 1000;
  TIM_InitStruct.ClockDivision = LL_TIM_CLOCKDIVISION_DIV1;
  TIM_InitStruct.RepetitionCounter = 0;
  LL_TIM_Init(TIM1, &TIM_InitStruct);
  LL_TIM_DisableARRPreload(TIM1);
  LL_TIM_SetClockSource(TIM1, LL_TIM_CLOCKSOURCE_INTERNAL);
  LL_TIM_SetTriggerOutput(TIM1, LL_TIM_TRGO_RESET);
  LL_TIM_SetTriggerOutput2(TIM1, LL_TIM_TRGO2_RESET);
  LL_TIM_DisableMasterSlaveMode(TIM1);
  /* USER CODE BEGIN TIM1_Init 2 */
                TIM1->DIER |= 1 << 0;// 中断
        TIM1->CR1 |= 1 << 0;//启动
  /* USER CODE END TIM1_Init 2 */

}





使用特权

评论回复
沙发
香水城| | 2023-8-9 21:17 | 只看该作者
会不会是外部中断没处理好,频繁进入而抢占了TIM中断?

使用特权

评论回复
板凳
Stahan| | 2023-8-11 23:58 | 只看该作者
是不优先级的问题啊

使用特权

评论回复
地板
呐咯密密| | 2023-12-26 10:27 | 只看该作者
应该是抢占了

使用特权

评论回复
5
童雨竹| | 2024-2-21 07:10 | 只看该作者

代码量小的时候用来做条件判断

使用特权

评论回复
6
Wordsworth| | 2024-2-21 08:13 | 只看该作者

在直流电流上叠加了一些小的交流电流分量

使用特权

评论回复
7
Clyde011| | 2024-2-21 09:16 | 只看该作者

连接点是产生控制IC所要检测的小电压的所有器件的公共连接点

使用特权

评论回复
8
公羊子丹| | 2024-2-21 10:09 | 只看该作者

这是个再正常不过的coding习惯

使用特权

评论回复
9
万图| | 2024-2-21 11:12 | 只看该作者

宽度则与电感量和电阻量成反比

使用特权

评论回复
10
Uriah| | 2024-2-21 12:15 | 只看该作者

电流要增大

使用特权

评论回复
11
帛灿灿| | 2024-2-21 14:11 | 只看该作者

有些信号包含丰富的高频分量

使用特权

评论回复
12
Bblythe| | 2024-2-21 15:14 | 只看该作者

交流电流环路的布线要在其他引线之前布好

使用特权

评论回复
13
周半梅| | 2024-2-21 17:10 | 只看该作者

对于优秀程序员来说,这不是好代码

使用特权

评论回复
14
Pulitzer| | 2024-2-21 18:13 | 只看该作者

功率开关或整流环的连接没有直接接到电容的两端

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

488

主题

2158

帖子

1

粉丝