美文网首页
2017年12月15日学习总结

2017年12月15日学习总结

作者: 陶雪婷a | 来源:发表于2017-12-15 22:35 被阅读0次

    今天的收获还是挺多得,学习了中断,原来用寄存器控制中断还是很麻烦得,不过多了解一些底层得东西有助于学习其他的需要和芯片。下午自己编程写出了用中断控制按键控制蜂鸣器

    #include "main.h"

    void GPIO_config(void)

    {

    GPIO_InitTypeDef GPIO_InitStruct;

    //PI11 输出

    RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOI,ENABLE);

    GPIO_InitStruct.GPIO_Pin  = GPIO_Pin_11;

    GPIO_InitStruct.GPIO_Mode = GPIO_Mode_OUT;

    GPIO_InitStruct.GPIO_OType = GPIO_OType_PP;

    GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;

    GPIO_InitStruct.GPIO_PuPd  = GPIO_PuPd_DOWN;

    GPIO_Init(GPIOI, &GPIO_InitStruct);

    }

    void EXTI_config(void)

    {

    GPIO_InitTypeDef GPIO_InitStruct;

    EXTI_InitTypeDef EXTI_InitStruct;

    //PC13输入

    RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC,ENABLE);

    RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG,ENABLE);

    GPIO_InitStruct.GPIO_Pin  = GPIO_Pin_13;

    GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IN;

    GPIO_InitStruct.GPIO_PuPd  = GPIO_PuPd_DOWN;

    GPIO_Init(GPIOC, &GPIO_InitStruct);

    SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOC, EXTI_PinSource13); //EXTI 与 GPIO管脚绑定

    EXTI_InitStruct.EXTI_Line      = EXTI_Line13;

    EXTI_InitStruct.EXTI_Mode      = EXTI_Mode_Interrupt;

    EXTI_InitStruct.EXTI_Trigger  = EXTI_Trigger_Rising_Falling;

    EXTI_InitStruct.EXTI_LineCmd  = ENABLE;

    EXTI_Init(&EXTI_InitStruct) ;

    }

    void NVIC_config(void)

    {

    NVIC_InitTypeDef NVIC_InitStruct;

    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);

    NVIC_InitStruct.NVIC_IRQChannel =  EXTI15_10_IRQn ;

    NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority = 1;

    NVIC_InitStruct.NVIC_IRQChannelSubPriority  = 0;

    NVIC_InitStruct.NVIC_IRQChannelCmd = ENABLE;

    NVIC_Init(&NVIC_InitStruct);

    }

    int main(void)

    {

    GPIO_config();

    EXTI_config();

    NVIC_config();

      while (1)

      {

      }

    }

    相关文章

      网友评论

          本文标题:2017年12月15日学习总结

          本文链接:https://www.haomeiwen.com/subject/ojdjwxtx.html