你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

求助芯片STM32F030K6 EXTI

[复制链接]
丹心汗青 提问时间:2016-10-18 16:46 /
void exti_init()
{
                  GPIO_InitTypeDef   GPIO_InitStructure;
        
    __HAL_RCC_GPIOB_CLK_ENABLE();
          GPIO_InitStructure.Mode = GPIO_MODE_IT_RISING;
                GPIO_InitStructure.Pull = GPIO_PULLDOWN;
                GPIO_InitStructure.Pin = GPIO_PIN_7;
                HAL_GPIO_Init(GPIOB, &GPIO_InitStructure);
    HAL_NVIC_SetPriority(EXTI4_15_IRQn, 1, 0);
    HAL_NVIC_EnableIRQ(EXTI4_15_IRQn);
        
}

void EXTI4_15_IRQHandler(void)
{
   HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_7);
}

int main(void)
{

  HAL_Init();
  SystemClock_Config();
  gpio_init();
        exti_init();

  while (1)
  {        
               
               
           HAL_GPIO_WritePin(GPIOF,GPIO_PIN_0, GPIO_PIN_SET);
               
  }
}



void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{
  if (GPIO_Pin == GPIO_PIN_7)
  {
               
                HAL_GPIO_WritePin(GPIOF, GPIO_PIN_0,GPIO_PIN_RESET);


                 __HAL_GPIO_EXTI_CLEAR_IT(GPIO_PIN_7);
  }
}


芯片STM32F030K6进入中断一直出不来哪位大神知道原因啊,谢谢


收藏 1 评论8 发布时间:2016-10-18 16:46

举报

8个回答
mark0668 回答时间:2016-10-18 17:06:50
是不是你外部电平不稳
丹心汗青 回答时间:2016-10-18 17:44:07
mark0668 发表于 2016-10-18 17:06
是不是你外部电平不稳

  SystemClock_Config(void)里我没加这3个造成的
  HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/1000);
  HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK);
  HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0);

您知道为什么这3个要加?外部中断和系统时钟滴答定时器有什么关系?难道是我用了系统自带的Delay,明天试试谢谢
mark0668 回答时间:2016-10-18 19:12:06
这是HAL必要的,你的没有?
wenyangzeng 回答时间:2016-10-18 21:04:06
楼主,你的中断设定为上升沿触发,GPIO的上拉理应为悬浮:
GPIO_InitStructure.Pull = GPIO_NOPULL;

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

asssdz-382474 回答时间:2016-10-18 22:29:13
签到了 签到了
丹心汗青 回答时间:2016-10-19 08:51:08
mark0668 发表于 2016-10-18 19:12
这是HAL必要的,你的没有?

我用了cubf0里面的例程弄过来的,里面没有,后来自己查资料添加上去的
丹心汗青 回答时间:2016-10-19 08:52:40
wenyangzeng 发表于 2016-10-18 21:04
楼主,你的中断设定为上升沿触发,GPIO的上拉理应为悬浮:
GPIO_InitStructure.Pull = GPIO_NOPULL; ...

3中上拉状态都一样的出不来,是系统时钟少了
HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/1000);
  HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK);
  HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0);
这3句
丹心汗青 回答时间:2016-10-19 08:53:13

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版