STM32外部中断设置
来源:互联网 发布:php企业网站源码下载 编辑:程序博客网 时间:2024/06/10 15:05
硬件:STM32F103C8T6
实例引脚:PA8
//引脚属性配置
void CC2500_PIN_Config(void)
{
GPIO_InitTypeDef GPIO_InitStru;
GPIO_InitStru.GPIO_Pin = GPIO_Pin_8;
GPIO_InitStru.GPIO_Mode = GPIO_Mode_IPU;
GPIO_InitStru.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_Init(GPIOA,&GPIO_InitStru);
}
{
NVIC_InitTypeDef NVIC_InitStru;
EXTI_InitTypeDef EXTI_InitStru;
GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource8);
/* Configure EXTI8 line */
EXTI_InitStru.EXTI_Line = EXTI_Line8;
EXTI_InitStru.EXTI_Mode = EXTI_Mode_Interrupt;
EXTI_InitStru.EXTI_Trigger = EXTI_Trigger_Falling;
EXTI_InitStru.EXTI_LineCmd = ENABLE;
EXTI_Init(&EXTI_InitStru);
/* Enable and set EXTI0 Interrupt to the lowest priority */
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);//bit3用于指定抢占优先级,bit2~bit0指定响应式优先级
NVIC_InitStru.NVIC_IRQChannel = EXTI9_5_IRQn;
NVIC_InitStru.NVIC_IRQChannelPreemptionPriority = 1;//0或者1,四位中的bit4用于指定抢占优先级
NVIC_InitStru.NVIC_IRQChannelSubPriority = 3; //0~7,四位中的低三位用于指定响应式优先级
NVIC_InitStru.NVIC_IRQChannelCmd = ENABLE;
EXTI_ClearITPendingBit(EXTI_Line8);
NVIC_Init(&NVIC_InitStru);
}
中断服务函数:
void EXTI9_5_IRQHandler(void)
{
if(EXTI_GetITStatus(EXTI_Line8) != RESET)
{
EXTI_ClearITPendingBit(EXTI_Line8);
//do next step
}
}
- STM32外部中断设置
- STM32外部中断设置
- STM32外部中断测试
- STM32外部中断测试
- STM32外部中断总结
- STM32外部中断
- STM32外部中断
- STM32外部中断
- STM32外部中断详解
- STM32外部中断详解
- STM32外部中断
- STM32外部中断详解
- STM32 外部中断
- 关于STM32外部中断
- STM32外部中断
- STM32 外部中断
- STM32 外部中断
- stm32外部中断
- ajax 提交方式
- iOS: NSFileHandle的方法fileHandleForUpdatingAtPath:
- RTMP推送直播H264/AAC编码的音视频采集数据
- SAP找表的18中技巧(方法) 18 Techniques for Locating the Underlying Data of a Screen Field
- datatable group by
- STM32外部中断设置
- 投稿才是获得高质量外链的王道
- hdu 题目分类
- HDU 1019 求多个数的最小公倍数
- UVA 165 - Stamps
- iOS: NSFileHandle的方法fileHandleForWritingAtPath:
- 有限数集与无限个函数值的矛盾
- 使用Emacs:生存篇
- "manifest authoring error c1010001: Values of attribute 'level' not equal in different manifest snip