久久久久久久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://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 久久久噜噜噜久久中文字幕色伊伊 | 人干人操 | 日韩精品一区二区三区在线播放 | 国产精品一区二区三区在线 | 成人在线网 | 一区二区三区在线 | 欧美精品一区二区三区四区五区 | 色狠狠一区 | 久久99蜜桃综合影院免费观看 | 国产91丝袜在线18 | 成人亚洲| gogo肉体亚洲高清在线视 | 久久国产精品色av免费观看 | 亚洲精品美女视频 | 日韩三级在线观看 | 日韩视频一区 | 丁香婷婷久久久综合精品国产 | 天天摸天天干 | 久久精品久久久久久 | 国产免费自拍 | 精品国产乱码久久久久久牛牛 | 国产欧美精品区一区二区三区 | 久久成人高清视频 | 毛片免费看| 精品国产乱码久久久久久蜜臀 | 久久久久久久久久久福利观看 | 国产视频观看 | 亚洲国产欧美一区二区三区久久 | 美日韩视频 | 亚洲色在线视频 | 成人在线视频免费观看 | 精品国产视频 | 精品香蕉一区二区三区 | 亚洲人在线播放 | 亚洲免费在线观看 | 精品欧美一区二区三区久久久 | 日本精品一区二区 | 久久久青草婷婷精品综合日韩 | 午夜影院在线观看 | 日韩伦理电影免费在线观看 | 中文字幕第十五页 |