色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > STM32單片機的學習經(jīng)驗

          STM32單片機的學習經(jīng)驗

          作者: 時間:2016-11-29 來源:網(wǎng)絡 收藏

          void GPIO_Configuration(void) //GPIO配置函數(shù)
          {
          //GPIO_DeInit(GPIOA);
          GPIO_InitTypeDef GPIO_InitStructure;
          GPIO_InitStructure.GPIO_Pin=GPIO_Pin_4;
          GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
          GPIO_InitStructure.GPIO_Mode= GPIO_Mode_Out_PP;
          GPIO_Init(GPIOA,&GPIO_InitStructure);

          GPIO_InitStructure.GPIO_Pin=GPIO_Pin_12;
          GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
          GPIO_InitStructure.GPIO_Mode= GPIO_Mode_Out_PP;
          GPIO_Init(GPIOB,&GPIO_InitStructure);

          GPIO_InitStructure.GPIO_Pin=GPIO_Pin_8|GPIO_Pin_9;
          GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
          GPIO_InitStructure.GPIO_Mode= GPIO_Mode_IPU;
          GPIO_Init(GPIOB,&GPIO_InitStructure);
          }

          本文引用地址:http://cafeforensic.com/article/201611/323419.htm

          void EXTI_Config(void)
          {
          EXTI_InitTypeDef EXTI_InitStructure;
          // 管腳選擇
          GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, GPIO_PinSource8);
          GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, GPIO_PinSource9);
          // 清除 EXTI線路掛起位
          EXTI_ClearITPendingBit(EXTI_Line8|EXTI_Line9);
          //
          EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
          EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;
          EXTI_InitStructure.EXTI_Line = EXTI_Line8|EXTI_Line9;
          EXTI_InitStructure.EXTI_LineCmd = ENABLE;
          EXTI_Init(&EXTI_InitStructure);
          }

          void NVIC_Config(void)
          {
          NVIC_InitTypeDef NVIC_InitStructure;
          NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);
          NVIC_InitStructure.NVIC_IRQChannel = EXTI9_5_IRQn; // 注意名稱是“_IRQn”,不是“_IRQChannel”
          NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;//
          NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; //
          NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
          NVIC_Init(&NVIC_InitStructure);
          }

          int main(void)
          {
          RCC_Configuration();
          GPIO_Configuration();
          EXTI_Config();
          NVIC_Config();

          while(1)
          {
          GPIO_ResetBits(GPIOB,GPIO_Pin_12);
          GPIO_ResetBits(GPIOA,GPIO_Pin_4);
          }
          }

          中斷文件 it.c中

          void EXTI9_5_IRQHandler(void)
          {

          if ( EXTI_GetITStatus(EXTI_Line8) != RESET )
          {
          EXTI_ClearITPendingBit(EXTI_Line8);


          GPIO_SetBits(GPIOA,GPIO_Pin_4);

          while(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_8)==0);

          }

          if ( EXTI_GetITStatus(EXTI_Line9) != RESET )
          {
          EXTI_ClearITPendingBit(EXTI_Line9);

          GPIO_SetBits(GPIOB,GPIO_Pin_12);

          while(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_9)==0);
          }
          }


          上一頁 1 2 下一頁

          評論


          技術專區(qū)

          關閉