使用位带操作,位带操作就是把每个比特膨胀成一个32位的字,当访问这些字的时候就访问这些比特位。

http://www.cnblogs.com/xiaobo-Linux/

然后,端口使能:

//³õʼ»¯PB5ºÍPE5ΪÊä³ö¿Ú.²¢Ê¹ÄÜÕâÁ½¸ö¿ÚµÄʱÖÓ
//LED IO³õʼ»¯
void LED_Init(void)
{

 GPIO_InitTypeDef  GPIO_InitStructure;

 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOE, ENABLE);     //ʹÄÜPB,PE¶Ë¿ÚʱÖÓ

 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;                 //LED0-->PB.5 ¶Ë¿ÚÅäÖÃ
 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;          //ÍÆÍìÊä³ö
 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;         //IO¿ÚËÙ¶ÈΪ50MHz
 GPIO_Init(GPIOB, &GPIO_InitStructure);                     //¸ù¾ÝÉ趨²ÎÊý³õʼ»¯GPIOB.5
 GPIO_SetBits(GPIOB,GPIO_Pin_5);                         //PB.5 Êä³ö¸ß

 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;                 //LED1-->PE.5 ¶Ë¿ÚÅäÖÃ, ÍÆÍìÊä³ö
 GPIO_Init(GPIOE, &GPIO_InitStructure);                       //ÍÆÍìÊä³ö £¬IO¿ÚËÙ¶ÈΪ50MHz
 GPIO_SetBits(GPIOE,GPIO_Pin_5);                          //PE.5 Êä³ö¸ß
}
 

GPIO_SetBits(GPIOB,GPIO_Pin_5);

这个必须要写,取地址。

GPIO_SetBits(GPIOB,GPIO_Pin_5);这个可以不写,主要是开机不让LED亮;

SetBits 是 高电平 1 ;

RestBits是低电平 0 ;

然后是位带操作:

#ifndef __LED_H
#define __LED_H
#include "sys.h"

#define LED0 PBout(5)// PB5
#define LED1 PEout(5)// PE5    

void LED_Init(void);

#endif

#ifndef __LED_H

#define __LED_H

..

..

#endif

是防止重复加载头文件

#define LED0 PBout(5)  out是输出 Int是输入

输出PB.5引脚

在main.c中直接就可以像c51那样写 LED0 =1;LED0=0;

小结-stm32 驱动LED灯的更多相关文章

  1. stm32开发笔记(三):stm32系列的GPIO基本功能之输出驱动LED灯、输入按键KEY以及Demo

    前言   stm32系列是最常用的单片机之一,不同的版本对应除了引脚.外设.频率.容量等'不同之外,其开发的方法是一样的.  本章讲解使用GPIO引脚功能驱动LED灯和接收Key按钮输入.   STM ...

  2. 灵动微电子ARM Cortex M0 MM32F0010 GPIO 的配置驱动LED灯

    灵动微电子ARM Cortex M0 MM32F0010 GPIO的配置 目录: 1.前言 2.学习方法简要说明 3.要点提示 4.注意事项 5.MM32F0010系统时钟的配置 6.MM32F001 ...

  3. MM32F0020 GPIO驱动LED灯(MM32F0020 GPIO Toggle)

    目录: 1.MM32F0020简介 2.MM32F0020系统时钟配置 3.MM32F0020的GPIO外设配置及其初始化 4.使用官网的Systick定时器做延时 5.MM32F0020 GPIO驱 ...

  4. MM32F0140 GPIO驱动LED灯(MM32F0140 GPIO)

    目录: 1.MM32F0140简介 2.MM32F0140系统时钟配置 3.MM32F0140的GPIO外设配置及其初始化 4.使用官网的Systick定时器做延时 5.MM32F0140 GPIO驱 ...

  5. TMS320VC5509总线驱动LED灯

    1. 重新建立的工程,需要添加宏定义才行 CHIP_5509 2. 驱动LED用的是74LVC573锁存器,LE高电平时,Q1=D0,LE低电平时,Q1=之前的状态,下面是数据总线 看下地址总线 看下 ...

  6. STM32之使用库函数驱动LED灯

    一.熟悉GPIO结构体 以下这个结构体是我从官方手册中获取的: typedef struct { u16 GPIO_Pin; GPIOSpeed_TypeDef GPIO_Speed; GPIOMod ...

  7. STM32点LED灯

    一.建立项目模板 这里的user中重复引用了system_stm32f10x.c Output中选择Create HEXFile,并且可以选择输出路径. Listing中可以选择输出路径. 然后在C/ ...

  8. Tiny4412之蜂鸣器驱动与led灯驱动

    一:LED驱动编写 要编写LED驱动,首先的知道开发板的构造:开发板分为核心板与底板:编写驱动的第一步就是要看开发板,找到LED灯在开发板上的位置及所对应的名字:第一步就要查看核心板电路图,以及底板电 ...

  9. STM32点亮闪烁LED灯

    详解请看其他博客: http://www.cnblogs.com/whik/p/6672730.html http://www.51hei.com/bbs/dpj-38605-1.html /*本程序 ...

随机推荐

  1. 分享一个UI与业务逻辑分层的框架(二)

    序言 第一篇讲解了UI与业务逻辑分层的框架(UIMediator)的使用.本篇将说明该框架的原理及代码实现. 整体结构 UI与后台类绑定主要分为UI输入->后台属性,后台属性-UI更新两部分,为 ...

  2. 写个C#命令行参数解析的小工具

    最近测试工作做的比较多因此时常要创建一些控制台类型的应用程序.因为程序有不同的参数开关,需要在程序启动的时候通过命令行来给程序传递各种开关和参数.直接操作args有些不方便,所以就写了个解析参数的小工 ...

  3. WPF模糊效果(BlurEffect)

    <TextBlock Padding="10" Text="设置模糊" FontSize="32" Background=" ...

  4. identity与ASP.NET 模拟

    默认情况下,ASP.NET应用程序以本机的ASPNET帐号运行,该帐号属于普通用户组,权限受到一定的限制,以保障ASP.NET应用程序运行的安全.但是有时需要某个ASP.NET应用程序或者程序中的某段 ...

  5. Collection框架

    Collection框架 集合框架(Collection Framework)泛指java.util包的若干个类和接口.如Collection,List,ArrayList,LinkedList,Ve ...

  6. 《疯狂Java讲义》学习笔记——第2章 理解面向对象

    面向对象的三种基本特征:继承,封装,多态 UML(统一建模语言) 2.1 面向对象 2.1.1 结构化程序设计简介 图2.1  结构化软件的逻辑结构示意图 从图2.1可以看出,结构化设计需要采用自顶向 ...

  7. ASP.NET MVC搭建项目后台UI框架—3、面板折叠和展开

    目录 ASP.NET MVC搭建项目后台UI框架—1.后台主框架 ASP.NET MVC搭建项目后台UI框架—2.菜单特效 ASP.NET MVC搭建项目后台UI框架—3.面板折叠和展开 ASP.NE ...

  8. 【圣诞呈献】高性能 Socket 组件 HP-Socket v3.1.1 正式发布

    HP-Socket 是一套通用的高性能 Windows Socket 组件包,包含服务端组件(IOCP 模型)和客户端组件(Event Select 模型),广泛适用于 Windows 平台的 TCP ...

  9. MongoDB常用操作--集合2

    1.查询集合中的文档,可以使用命令 db.集合名称.find({条件}),或者使用 db.集合名称.findOne() 查询第一个文档 2.查询集合中的文档,返回某些特定的键值 3.查询集合中的文档 ...

  10. c/C++二进制运算符

    c/c++中常用的二进制运算符有六个.这里对这六个做简单的介绍和应用举例. 1.  &  :  与操作.作用于两个二进制数,当然也可以对整型数据进行操作(当两边为整型数据会自动转化为二进制数) ...