打印
[STM32L4]

STM32L4 为啥EXTI_SWIER1 寄存器置位不能软触发中断

[复制链接]
2123|48
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主

在官方论坛上也有在问的:
https://community.st.com/s/question/0D50X00009XkfHrSAJ/software-interrupt-on-stm32l4

大概意思是需要先使能才能触发,我确认已经使能EXTI;
是因为NIVC 函数有bug?

我想软触发 EXTI22 也就是比较器2的中断:



不知道有没有大神遇到;


使用特权

评论回复
沙发
未说出口的像你| | 2023-3-16 19:41 | 只看该作者
这是外部中断吧,是不是需要硬件触发才行?

使用特权

评论回复
板凳
在曼谷的春| | 2023-3-16 20:14 | 只看该作者
说实话,直接操作寄存器可太难了,还得对手册

使用特权

评论回复
地板
我吃小朋友| | 2023-3-16 21:37 | 只看该作者
楼主的软触发是指的什么?定时器触发吗?

使用特权

评论回复
5
Henryko| | 2023-3-16 21:58 | 只看该作者
是用定时器触发中断吗?

使用特权

评论回复
6
月亮一键变蓝| | 2023-3-16 22:13 | 只看该作者
属实需要使能,还需要IO配置才行

使用特权

评论回复
7
她已醉| | 2023-3-16 23:57 | 只看该作者
比较器的话好像官方有例程的吧,楼主可以看看

使用特权

评论回复
8
春日负喧| | 2023-3-17 01:54 | 只看该作者
cubemx配置一下试试呢?我觉得cubemx的功能很是强大的

使用特权

评论回复
9
温室雏菊| | 2023-3-17 04:21 | 只看该作者
这个没遇到过,但是我知道配置一般可以用cubemx来实现,能好点

使用特权

评论回复
10
故意相遇| | 2023-3-17 09:12 | 只看该作者
正常来说nivc应该是没有bug的吧

使用特权

评论回复
11
西洲| | 2023-3-17 11:21 | 只看该作者
你可以仿真看看,是否使能EXTI成功了呗

使用特权

评论回复
12
一只眠羊| | 2023-3-17 15:03 | 只看该作者
比较器也需要外部中断触发吧?

使用特权

评论回复
13
xiaofei558008|  楼主 | 2023-3-17 15:54 | 只看该作者
后面又可以了,我忘记怎么解决了

使用特权

评论回复
14
gongche| | 2023-3-29 20:50 | 只看该作者
外部中断吧

使用特权

评论回复
15
香水城| | 2023-3-29 21:05 | 只看该作者
就是通过软件方式操作触发外部中断事件 进而产生中断,应该是可以的。

明天我验证后贴代码过来。

使用特权

评论回复
16
wenfen| | 2023-3-29 21:12 | 只看该作者
比较器也需要外部中断触发吧?

使用特权

评论回复
17
xiaofei558008|  楼主 | 2023-3-30 09:41 | 只看该作者
后面又可以了。

使用特权

评论回复
18
香水城| | 2023-3-30 15:01 | 只看该作者
我用的EXIT2,



    __HAL_RCC_SYSCFG_CLK_ENABLE();
   
    EXTI->IMR1 |=0x0004;

HAL_NVIC_SetPriority(EXTI2_IRQn, 2, 0);
  HAL_NVIC_EnableIRQ(EXTI2_IRQn);


void EXTI2_IRQHandler(void)
{
  
   __HAL_GPIO_EXTI_CLEAR_IT(GPIO_PIN_2);
     
  HAL_GPIO_WritePin( GPIOA,  GPIO_PIN_5,  GPIO_PIN_SET);
  HAL_Delay(300);
  HAL_GPIO_WritePin( GPIOA,  GPIO_PIN_5, GPIO_PIN_RESET );

}

我在定时器中断里软件触发EXTI2,
void TIM1_UP_TIM16_IRQHandler(void)
{
  /* USER CODE BEGIN TIM1_UP_TIM16_IRQn 0 */

  /* USER CODE END TIM1_UP_TIM16_IRQn 0 */
  HAL_TIM_IRQHandler(&htim1);
  /* USER CODE BEGIN TIM1_UP_TIM16_IRQn 1 */
  EXTI->SWIER1 |=0x0004;
  /* USER CODE END TIM1_UP_TIM16_IRQn 1 */
}

测试OK. 供参考。
  

使用特权

评论回复
19
SantaBunny| | 2023-4-5 14:16 | 只看该作者
用cubemx配置一下试试

使用特权

评论回复
20
MessageRing| | 2023-4-5 22:40 | 只看该作者
要使能的吧

使用特权

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

本版积分规则

139

主题

983

帖子

13

粉丝