苏嵌暑期实训----day17

姓名:祝俊宝          日期:2018.07.25

今日学习任务

1、固件库点亮彩灯

2、学习stm32的时钟树

今日任务完成情况

成功移植了代码点亮了第一个彩灯

对stm32的时钟系统有了一定的了解

今日开发问题汇总 代码移植第一次做起来有点难度,固件库模板里的代码内容太多,没有老师的指导找起来很困难
今日未解决的问题

今日开发收获

成功通过固件库点亮了彩灯

了解了stm32的时钟系统,包括HSI、HSE,PLLCLK等

自我评价

较为生疏,还应该多学习

其他:固件库实现循环彩灯

bsp.c

#include "bsp_led.h"

void GPIO_LED_Config()   //gpio配置
{    
    GPIO_InitTypeDef GPIO_InitStruct;
    RCC_AHB1PeriphClockCmd(GPIO_LED_RCC,ENABLE);
    
//    GPIO_InitStruct.GPIO_Pin = GPIO_LED_PIN_Blue;
GPIO_InitStruct.GPIO_Pin = (GPIO_LED_PIN_Blue | GPIO_LED_PIN_Yellow  | GPIO_LED_PIN_Red | GPIO_LED_PIN_Green);
    GPIO_InitStruct.GPIO_Mode = GPIO_Mode_OUT;
    GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_InitStruct.GPIO_OType = GPIO_OType_PP;
    GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_UP;
    
    GPIO_Init(GPIO_LED_Blue,&GPIO_InitStruct);
    
}

void delay_us(unsigned int time)
{
  unsigned int n=256*time;
  while(n--);
}

 

 

bsp.h

 

#ifndef _BSP_LED_H
#define _BSP_LED_H

#include "stm32f4xx_gpio.h"

#define GPIO_LED_RCC RCC_AHB1Periph_GPIOC

#define GPIO_LED_Blue GPIOC
#define GPIO_LED_Yellow GPIOC
#define GPIO_LED_Red GPIOC
#define GPIO_LED_Green GPIOC

#define GPIO_LED_PIN_Blue GPIO_Pin_1
#define GPIO_LED_PIN_Yellow GPIO_Pin_2
#define GPIO_LED_PIN_Red GPIO_Pin_3
#define GPIO_LED_PIN_Green GPIO_Pin_4

void GPIO_LED_Config(void);
void delay_us(unsigned int time);

#endif


main.c

#include "stm32f4xx.h"
#include "bsp_led.h"

int main()
{
         GPIO_LED_Config();
    while(1)
    {
        GPIO_SetBits(GPIO_LED_Blue,GPIO_LED_PIN_Blue);
        
        delay_us(100000);
        GPIO_ResetBits(GPIO_LED_Blue,GPIO_LED_PIN_Blue);
        GPIO_SetBits(GPIO_LED_Yellow,GPIO_LED_PIN_Yellow);
        
        delay_us(100000);
        GPIO_ResetBits(GPIO_LED_Yellow,GPIO_LED_PIN_Yellow);
        GPIO_SetBits(GPIO_LED_Red,GPIO_LED_PIN_Red);
        
        delay_us(100000);
        GPIO_ResetBits(GPIO_LED_Red,GPIO_LED_PIN_Red);
        GPIO_SetBits(GPIO_LED_Green,GPIO_LED_PIN_Green);
        
        delay_us(100000);
        GPIO_ResetBits(GPIO_LED_Green,GPIO_LED_PIN_Green);
        GPIO_SetBits(GPIO_LED_Red,GPIO_LED_PIN_Red);
        
        delay_us(100000);
        GPIO_ResetBits(GPIO_LED_Red,GPIO_LED_PIN_Red);
        GPIO_SetBits(GPIO_LED_Yellow,GPIO_LED_PIN_Yellow);
        
        delay_us(100000);
        GPIO_ResetBits(GPIO_LED_Yellow,GPIO_LED_PIN_Yellow);
    } 
}

 

你可能感兴趣的:(苏嵌暑期实训----day17)