久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
stm32外部中斷
[打印本頁]
作者:
qinqin
時間:
2015-6-9 00:17
標題:
stm32外部中斷
今天搞了一下stm32的外部中斷,stm32的外部中斷是分組的,PA0,PB0,PC0等為一組,PA1,PB1,PC1等為一組
,組0,1,2,3,4為獨立組,各自可以獨立產生中斷(同時只能一路進入中斷),5-9為一組共用一個中斷入口,10-15為一組共用一個中斷入口,下面的為按下GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4對應的按鈕,那么對應的GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3就會實現電平翻轉。
關鍵詞以標出
#include"stm32f10x.h"
EXTI_InitTypeDef EXTI_InitStructure;
GPIO_InitTypeDef GPIO_InitStructure;
NVIC_InitTypeDef NVIC_InitStructure;
int main()
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOC,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);//復用
GPIO_InitStructure.GPIO_Pin =GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4;
GPIO_InitStructure.GPIO_Mode =GPIO_Mode_IPU;//上拉
GPIO_Init(GPIOA, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin =GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3;
GPIO_InitStructure.GPIO_Mode =GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_2MHz;
GPIO_Init(GPIOC, &GPIO_InitStructure);
GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource1|GPIO_PinSource2|GPIO_PinSource3|GPIO_PinSource4);
EXTI_InitStructure.EXTI_Line =EXTI_Line1|EXTI_Line2|EXTI_Line3|EXTI_Line4;
EXTI_InitStructure.EXTI_Mode =EXTI_Mode_Interrupt;
EXTI_InitStructure.EXTI_Trigger =EXTI_Trigger_Falling;//下降沿
EXTI_InitStructure.EXTI_LineCmd = ENABLE;
EXTI_Init(&EXTI_InitStructure);
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);//
配置為 1組。
NVIC_InitStructure.NVIC_IRQChannel =EXTI1_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority =0;//
先占優先級越小越高
NVIC_InitStructure.NVIC_IRQChannelSubPriority =0;//
從優先級
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;//
NVIC_Init(&NVIC_InitStructure);
NVIC_InitStructure.NVIC_IRQChannel =EXTI2_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelSubPriority =1;
NVIC_InitStructure.NVIC_IRQChannelCmd =ENABLE;
NVIC_Init(&NVIC_InitStructure);
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 =EXTI4_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
NVIC_InitStructure.NVIC_IRQChannelSubPriority =1;
NVIC_InitStructure.NVIC_IRQChannelCmd =ENABLE;
NVIC_Init(&NVIC_InitStructure);
GPIO_SetBits(GPIOC,GPIO_Pin_2|GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_3);
while(1)
{
}
}
void EXTI1_IRQHandler(void)
{
if(EXTI_GetITStatus(EXTI_Line1) != RESET)
{
GPIO_WriteBit(GPIOC,GPIO_Pin_0,1-GPIO_ReadOutputDataBit(GPIOC,GPIO_Pin_0));//電平翻轉
}
EXTI_ClearFlag(EXTI_Line1);//清標志位
}
void EXTI4_IRQHandler(void)
{
if(EXTI_GetITStatus(EXTI_Line4) != RESET)
{
GPIO_WriteBit(GPIOC,GPIO_Pin_3,1-GPIO_ReadOutputDataBit(GPIOC,GPIO_Pin_3));
}
EXTI_ClearFlag(EXTI_Line4);
}void EXTI2_IRQHandler(void)
{
if(EXTI_GetITStatus(EXTI_Line2) != RESET)
{
GPIO_WriteBit(GPIOC,GPIO_Pin_1,1-GPIO_ReadOutputDataBit(GPIOC,GPIO_Pin_1));
}
EXTI_ClearFlag(EXTI_Line2);
}void EXTI3_IRQHandler(void)
{
if(EXTI_GetITStatus(EXTI_Line3) != RESET)
{
GPIO_WriteBit(GPIOC,GPIO_Pin_2,1-GPIO_ReadOutputDataBit(GPIOC,GPIO_Pin_2));
}
EXTI_ClearFlag(EXTI_Line3);
}
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
一级毛片网
|
欧美一级全黄
|
久久免费观看一级毛片
|
久久四虎
|
成人一区二区在线
|
亚洲一区自拍
|
91精品国产91久久综合桃花
|
久久久国产精品视频
|
亚洲精品一
|
日本a网站
|
日韩高清一区
|
国产高清无av久久
|
日韩在线不卡视频
|
久久99精品久久久久久
|
中文字幕在线观看一区
|
久久久久久国产精品
|
国产91精品久久久久久久网曝门
|
久久成人精品视频
|
国产 91 视频
|
欧美国产大片
|
精品久久久久国产免费第一页
|
国产精品视频久久
|
一区二区三区免费网站
|
日韩成人精品一区二区三区
|
久久爱一区
|
欧美日韩电影在线
|
久久的色
|
国产区高清
|
欧美日韩成人影院
|
国产亚洲欧美在线视频
|
亚洲精品99
|
国产精品成人一区二区三区
|
欧美电影免费观看
|
日韩黄
|
网色
|
九一在线观看
|
91国产视频在线观看
|
黄色一级免费看
|
一区二区三区在线免费观看
|
久久手机在线视频
|
久色激情
|