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

求助芯片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

查看全部评分

assssdz 回答时间: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管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版