1、led.c的详细的代码:

/*----------------------------------------------------------*/
#include "led.h" /* -------------------------------------------------------------------------
文件名称:led.c
描写叙述 :依据硬件连接配置LEDport,打开相应的寄存器
---------------------------------------------------------------------------*/
void LED_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
//打开PB口时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
//打开PE口时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE,ENABLE);
//PB5,PE5引脚设置
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;
//port速度
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
//port模式。此为输出推挽模式
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOB,&GPIO_InitStructure);
GPIO_Init(GPIOE,&GPIO_InitStructure);
}

初始化:首先进行时钟的打开,引脚的设置。port速度设置,port模式的设置

2、led.h的头文件

#ifndef __LED_H
#define __LED_H #include "stm32f10x.h" #define LED2_OFF GPIO_SetBits(GPIOE,GPIO_Pin_5)
#define LED2_ON GPIO_ResetBits(GPIOE,GPIO_Pin_5)
#define LED2_REV GPIO_WriteBit(GPIOE,GPIO_Pin_5,(BitAction)(1-(GPIO_ReadOutputDataBit(GPIOE,GPIO_Pin_5)))) #define LED3_OFF GPIO_SetBits(GPIOB,GPIO_Pin_5)
#define LED3_ON GPIO_ResetBits(GPIOB,GPIO_Pin_5)
#define LED3_REV GPIO_WriteBit(GPIOB,GPIO_Pin_5,(BitAction)(1-(GPIO_ReadOutputDataBit(GPIOB,GPIO_Pin_5)))) void LED_Init(void); #endif

led的开关。翻转

3、main.c函数代码

/*----------------------------------------------------------------------------------
文件名:控制LED2。LED3闪烁
硬件平台:STM32F103 开发板
作者 :求是
固件库 :V3.5
-----------------------------------------------------------------------------------*/
/* Includes ------------------------------------------------------------------*/
#include "stm32f10x.h"
#include "led.h" int main(void)
{
uint32_t i; <span style="white-space:pre"> </span>LED_Init();
LED2_ON;
LED3_OFF;
for(i=0; i < 0xffffff; i++)
while (1)
{
for(i = 0; i < 0xfffff;i++);
LED2_REV;
LED3_REV;
}
}

我们写代码的时候使用函数的时候,优先使用函数宏。

STM32的IO配置点灯的更多相关文章

  1. STM32的IO口的8种配置

    STM32的IO口的8种配置 1 STM32的输入输出管脚有以下8种可能的配置:(4输入+2输出+2复用输出) ① 浮空输入_IN_FLOATING ② 带上拉输入_IPU ③ 带下拉输入_IPD ④ ...

  2. 转载电子发烧友网---STM32的IO口灌入电流和输出驱动电流

    刚开始学习一款单片机的时候一般都是从操作IO口开始的,所以我也一样,先是弄个流水灯. 刚开始我对STM32的认识不够,以为是跟51单片机类似,可以直接操作端口,可是LED灯却没反应,于是乎,仔细查看资 ...

  3. 像51一样操作STM32的IO(转)

    源:像51一样操作STM32的IO //-------------------------------------------------------------------------------- ...

  4. STM32CubeMX新建工程+基本IO配置过程

    Ⅰ.写在前面 学习本文之前可以查看我前面的文章: STM32CubeMX介绍.下载与安装 STM32CubeMX使用方法及功能介绍 本文接着上一篇文章结合基本IO配置实例,讲述关于STM32CubeM ...

  5. STM32的IO口是如何配置为某个外设使用的 ---?

    @2019-03-01 [猜想] 使用片内外设功能: 首先将对应 IO 口配置为复用输出 其次是 IO 口对应的多个功能外设,哪个外设使能即将外设与 IO 口相连 [疑问] 若多个外设都使能,那么到底 ...

  6. STM32中IO口的8中工作模式

    该文摘自:http://blog.csdn.net/kevinhg/article/details/17490273 一.推挽输出:可以输出高.低电平,连接数字器件:推挽结构一般是指两个三极管分别受两 ...

  7. STM32 基于 CubeMX配置GPIO点亮LED灯(超级详细+图文并茂)

    我是一个只会点灯的菜鸟: 相关文章 [STM32系列汇总]小白博主的STM32实战快速进阶之路(持续更新) 文章目录 相关文章 1 前言 2 理论分析 2.1 LED 原理 2.2 板载资料 2.3 ...

  8. STM32 DAC的配置与使用

    本博文转自:http://blog.chinaunix.net/uid-24219701-id-4101802.html STM32 的 DAC 模块(数字/模拟转换模块)是 12 位数字输入,电压输 ...

  9. (二)stm32之中断配置

    一.stm32的中断和异常 Cortex拥有强大的异常响应系统,它能够打断当前代码执行流程事件分为异常和中断,它们用一个表管理起来,编号为0~15为内核异常,16以上的为外部中断,这个表就是中断向量表 ...

随机推荐

  1. mysql重设root的密码 mac

    创建: 2017/09/14    第一步: 关闭已开启的mysql服务器  mysql.server stop  第二步: 关闭密码识别模式   /usr/local/bin/mysqld_safe ...

  2. C - Alice, Bob and Chocolate(贪心)

    Problem description Alice and Bob like games. And now they are ready to start a new game. They have ...

  3. 好用的Cache辅助工具类

    话不多说,直接上代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; usi ...

  4. 搭建Hadoop所遇过的坑

    问题1: 报错信息如下: Container exited with a non-zero exit code 143 Killed by external signal 解决方案: 分配的资源不够, ...

  5. asp.net 后台注册脚本

    string myScript = "function ShowPanel() { $('.nav a[href=\"#" + PanelType.wenben.ToSt ...

  6. 关于python学习路线

    *Python进阶(目录/书籍/学习路线) 忘了从哪里转的了,没办法标记哦,实在不好意思... 目录:) 1. 简介&helloworld&开发环境配置 2.基本语法:标识符& ...

  7. HDU_1969_二分

    Pie Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submiss ...

  8. Higher-Order Functions and Lambdas

    https://kotlinlang.org/docs/reference/lambdas.html

  9. 【转载】servlet三大作用域:request,session,application

    javaweb开发中Servlet三大域对象的应用(request.session.application(ServletContext)). 1. requestrequest是表示一个请求,只要发 ...

  10. python学习之小小爬虫

    学习python一段时间了,写了一个图片的小小爬虫,分享下,不喜勿喷! #coding=utf-8 ''' Created on 2015-5-22 @author: 悦文 ''' import re ...