求助芯片STM32F030K6 EXTI
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进入中断一直出不来哪位大神知道原因啊,谢谢
是不是你外部电平不稳 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,明天试试谢谢 这是HAL必要的,你的没有? 楼主,你的中断设定为上升沿触发,GPIO的上拉理应为悬浮:
GPIO_InitStructure.Pull = GPIO_NOPULL; 签到了 签到了 mark0668 发表于 2016-10-18 19:12
这是HAL必要的,你的没有?
我用了cubf0里面的例程弄过来的,里面没有,后来自己查资料添加上去的 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句 asssdz-382474 发表于 2016-10-18 22:29
签到了 签到了
:):):):):)
页:
[1]