苏嵌学习第16天

苏嵌项目

姓名     高瑞                      日期  2018.7.26

 

今日学习任务

主要讲得串口,及外部中断

 

 

 

今日任务完成情况

完成了串口的任务

完成了一个按键和一盏灯的任务

 

 

 

今日开发中出现的问题汇总

难找相关的代码

 

 

 

今日未解决的问题

四盏灯和四个按键的操作

 

 

今日开发收获

通过自己翻阅gpio.h文件,自己用里面提供的函数测量按键的状态,了解了按键和灯的相关操作

 

 

自我评价

比较难找寄存器相关的代码

 

#ifndef _BSP_KEY_H

#define _BSP_KEY_H

 

#include "stm32f4xx.h"

#include "bsp_usart.h"

 

void Key_Exti_Config (void);

 

#endif

 

 

#include "bsp_led.h"

 

void GPIO_LED_Config()

{

   GPIO_InitTypeDef GPIO_InitStruct;

   RCC_AHB1PeriphClockCmd(GPIO_LED_RCC,ENABLE);

 

   GPIO_InitStruct.GPIO_Pin = GPIO_LED_PIN_Blue;

   GPIO_InitStruct.GPIO_Mode = GPIO_Mode_OUT;

   GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;

   GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_UP;

 

   GPIO_Init(GPIO_LED_Blue,&GPIO_InitStruct);

}

 

#include "bsp_key.h"

 

void Key_Exti_Config(void)

{

   GPIO_InitTypeDef GPIO_InitStructure;

   EXTI_InitTypeDef EXTI_InitStructure;

   NVIC_InitTypeDef NVIC_InitStructure;

 

   RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC,ENABLE);

   RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG,ENABLE);

 

   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;

   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;

   GPIO_Init(GPIOC,&GPIO_InitStructure);

 

   SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOC,EXTI_PinSource13);

 

   EXTI_InitStructure.EXTI_Line = EXTI_Line13;

   EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;

   EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;

   EXTI_InitStructure.EXTI_LineCmd = ENABLE;

   EXTI_Init(&EXTI_InitStructure);

 

   NVIC_InitStructure.NVIC_IRQChannel = EXTI15_10_IRQn;

   NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x0f;

 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x0f;

 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;

 NVIC_Init(&NVIC_InitStructure);

}

 

void EXTI15_10_IRQHandler(void)

{

   if(EXTI_GetITStatus(EXTI_Line13)==SET)

 {

  GPIO_ToggleBits(GPIOC,GPIO_Pin_1);

  printf("PC13ÖжÏ\n");

  EXTI_ClearITPendingBit(EXTI_Line13);

 }

}

 

 

#include "stm32f4xx.h"

#include "bsp_led.h"

#include "bsp_systick.h"

#include "bsp_usart.h"

#include "bsp_key.h"

 

void delay(uint32_t t)

{

   for(;t!=0;t--)

     ;

}

 

int main(void)

{

  GPIO_LED_Config();

  SysTick_Init();

  USART_Config();

  Key_Exti_Config();

  while(1)

{

      printf("\r\n 苏嵌欢迎你 \r\n");

 delay(0xfffffff);

}

}

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值