STM32 点亮LED

发布于: 2018年03月13日 21:09:06 | 分类: STM32 | 浏览: 1433

    笔者现在大二,刚刚开学,正在学STM32,以下是笔者入门的第一个例程(如题)

    因为,从大一开始就自学Java,这个博客就是我用Java写的,所以对Eclipse 比较熟悉,之前学51单片机时用的是keil,感觉那玩意儿不适合我,快捷键没有Eclipse的用着舒服。所以在STM32的开发环境上我果断用Eclipse。官方推荐的sw4stm32,其实就是eclipse,为了方便我就直接下载了Linux版的sw4stm32。好了废话不多说直接上代码。

    首先新建一个项目

新建工程


    选择C项目,然后下一步选择:AC6 STM32 MCU PROJECT。然后继续下一步。

2018-03-13 19-46-45屏幕截图.png


    经过一下界面,选择STM32的型号,由于我的板子是正点原子mini版 STM32F103RCT6,所以在划红线的地方选择相应的型号即可,很方便。


2018-03-13 19-47-34屏幕截图.png


    型号选好后就选择库,我选择的是划红线的标准库选择之前需要下载,下载固件库也很简单,就不一一说明。

2018-03-13 19-47-56屏幕截图.png

    如下图所示:  

    在写代码之前先在src目录下建立led目录,分别建立led.c和led.h文件。下面就正式写代码:  

    led.h

/*
 * led.h
 *      Author: Today
 */
#ifndef LED_LED_H_
#define LED_LED_H_

//定义要点亮的led所在的pin口
#define LED (GPIO_Pin_15|GPIO_Pin_14|GPIO_Pin_13|GPIO_Pin_12 |GPIO_Pin_11|GPIO_Pin_10|GPIO_Pin_9|GPIO_Pin_8)

void LED_Init(void); //定义led的初始化函数

#endif /* LED_LED_H_ */

    led.c:

#include "led.h"

#include <stm32f10x.h>
#include <stm32f10x_gpio.h>
#include <stm32f10x_rcc.h>

void LED_Init()//初始化函数实现
{
    GPIO_InitTypeDef GPIO_Init_type;

    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);	//io口时钟使能

    GPIO_Init_type.GPIO_Mode         = GPIO_Mode_Out_PP;    //设置GPIO模式:推挽输出
    GPIO_Init_type.GPIO_Pin          = LED;                 //选择输出口
    GPIO_Init_type.GPIO_Speed        = GPIO_Speed_50MHz;    //设置输出速度

    GPIO_Init(GPIOB, &GPIO_Init_type);//初始化
}

    main.c

/**
  ******************************************************************************
  * @file    main.c
  * @author  Today
  * @version V1.0
  * @date    01-December-2013
  * @brief   Default main function.
  ******************************************************************************
  */

#include <stm32f10x.h>
#include <stm32f10x_gpio.h>

#include "led/led.h"

int main(void)
{
    LED_Init();
    while(1)
    {
        GPIO_WriteBit(GPIOB,LED,(BitAction)0);//LED公共端:VCC
    }
}

   

        ctrl + F11 直接运行 ,成功点亮

IMG_1920.jpg


    学习STM32 感觉和Java 差不多,C语言的结构体和Java的类有点类似,所以在我学习STM32会更加简单。在点亮LED的过程中几乎没有难度,建工程比起KEIL MDK 真的很快,所以我很推荐大家使用 sw4stm32 。

    这是笔者的第一篇博客,后续还会继续写关于STM32的博客,用来记录我的学习STM32之路。

标签: 大学 编程 STM32
本文为作者原创文章,转载时请务必声明出处并添加指向此页面的链接。
分享:
发表评论

目前您尚未登录,请 登录 后进行评论

评论信息