stm32简单按键中断Word文档下载推荐.docx
- 文档编号:21297693
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:6
- 大小:15.48KB
stm32简单按键中断Word文档下载推荐.docx
《stm32简单按键中断Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《stm32简单按键中断Word文档下载推荐.docx(6页珍藏版)》请在冰豆网上搜索。
voidNVIC_Configuration(void);
//中断优先级别设置
unsignedcharled_bit1=0;
unsignedcharled_bit2=0;
intmain(void)
{
RCC_Configuration();
GPIO_Configuration();
EXTI_Configuration();
NVIC_Configuration();
GPIO_SetBits(GPIOA,GPIO_Pin_0);
GPIO_SetBits(GPIOA,GPIO_Pin_1);
while
(1);
}
voidRCC_Configuration(void)
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
voidGPIO_Configuration(void)
GPIO_InitTypeDefGPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0|GPIO_Pin_1;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO_Init(GPIOA,&
amp;
GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_3|GPIO_Pin_8;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;
GPIO_Init(GPIOD,&
voidEXTI_Configuration(void)
EXTI_InitTypeDefEXTI_InitStructure;
GPIO_EXTILineConfig(GPIO_PortSourceGPIOA,GPIO_PinSource3);
EXTI_InitStructure.EXTI_Line=EXTI_Line3;
EXTI_InitStructure.EXTI_Mode=EXTI_Mode_Interrupt;
EXTI_InitStructure.EXTI_Trigger=EXTI_Trigger_Falling;
EXTI_InitStructure.EXTI_LineCmd=ENABLE;
EXTI_Init(&
EXTI_InitStructure);
GPIO_EXTILineConfig(GPIO_PortSourceGPIOA,GPIO_PinSource8);
EXTI_InitStructure.EXTI_Line=EXTI_Line8;
voidNVIC_Configuration(void)
/*
查看固件库手册,关于中断部分NVIC_IRQChannel
PA3、PA8分别设置
EXTI3_IRQChannel外部中断线3中断
EXTI9_5_IRQChannel外部中断线9-5中断
关于中断线,查看STM32ReferenceManual的9.2.5外部中断/事件线路映像
stm32使用了4个位来保存优先级别
查固件库
Table273.先占优先级和从优先级值
占先优先级-&
gt;
主
副优先级-&
次
号码越小,等级越高判断主的级别-&
一个高一个低-&
ok
判断主的级别-&
两个都相同-&
判断次的级别-&
按照列表顺序运行
*/
NVIC_InitTypeDefNVIC_InitStructure;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);
//占先优先级、副优先级的资源分配
NVIC_InitStructure.NVIC_IRQChannel=EXTI3_IRQn;
//指定中断源
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=1;
//占先优先级设定
NVIC_InitStructure.NVIC_IRQChannelSubPriority=0;
//副优先级设定
NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
NVIC_Init(&
NVIC_InitStructure);
NVIC_InitStructure.NVIC_IRQChannel=EXTI9_5_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0;
NVIC_InitStructure.NVIC_IRQChannelSubPriority=0;
stm32f10x_it.c中加入
externunsignedcharled_bit1,led_bit2;
voidEXTI9_5_IRQHandler(void)
if(EXTI_GetITStatus(EXTI_Line8)!
=RESET)
{
//添加中断处理程序
if(led_bit1)
led_bit1=0;
else
GPIO_ResetBits(GPIOA,GPIO_Pin_1);
led_bit1=1;
EXTI_ClearFlag(EXTI_Line8);
}
voidEXTI3_IRQHandler(void)
if(EXTI_GetITStatus(EXTI_Line3)!
if(led_bit2)
led_bit2=0;
GPIO_ResetBits(GPIOA,GPIO_Pin_0);
led_bit2=1;
EXTI_ClearFlag(EXTI_Line3);
}Bkey推荐阅读:
大量学习资料,强烈推荐2009-06-0817:
38:
51评论这张
转发至微博
0人|分享到:
阅读(218)|评论(0)|引用(0)|举报
stm32快速学习2——点亮LED
stm32快速学习4——串口发送字符
历史上的今天相关文章最近读者登录后,您可以在此留下足迹。
星辰
豆子
gongjian
springch
gugongsh
龙佛热
nj_puxia
最爱韩彩评论点击登录|昵称:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- stm32 简单 按键 中断