历史上的今天
返回首页

历史上的今天

今天是:2025年03月29日(星期六)

2019年03月29日 | STM32的IO配置点灯

2019-03-29 来源:eefocus

1、led.c的具体的代码:



/*----------------------------------------------------------*/

#include "led.h"

 

/* -------------------------------------------------------------------------

文件名:led.c

描述  :根据硬件连接配置LED端口,打开对应的寄存器

---------------------------------------------------------------------------*/

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;

//端口速度

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

//端口模式,此为输出推挽模式

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;

GPIO_Init(GPIOB,&GPIO_InitStructure);

GPIO_Init(GPIOE,&GPIO_InitStructure);

}

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

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;


  LED_Init();

LED2_ON;

LED3_OFF;

for(i=0; i < 0xffffff; i++)

  while (1)

  {

for(i = 0; i < 0xfffff;i++);

LED2_REV;

LED3_REV;

  }

}



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

推荐阅读

史海拾趣

Fabrimex AG公司的发展小趣事

1982年,Fabrimex AG收购了瑞士领先的实验室电源制造商Erlenbach的K. Witmer Elektronik AG博士。这一收购不仅增强了公司在实验室电源领域的实力,还进一步巩固了其在电子行业中的地位。通过整合双方的技术和资源,Fabrimex AG在实验室电源领域取得了更高的市场份额和更广泛的客户认可。

Fairchild (ON Semiconductor)公司的发展小趣事

Fairchild Semiconductor在创立之初就致力于半导体技术的研发与创新。公司推出了多种具有革命性意义的半导体产品,如逻辑门、功率MOSFET、模拟集成电路等,这些产品不仅在当时市场上取得了巨大的成功,更为Fairchild在半导体行业中确立了领导地位。

Abbotec Incorporated公司的发展小趣事

Abbotec Incorporated公司自成立以来,一直致力于电子技术的研发与创新。在某一年,公司研发团队成功开发出一款具有划时代意义的芯片,这款芯片在性能上大幅提升,同时降低了能耗。这一技术突破迅速引起了业界的关注,Abbotec因此获得了大量的订单,公司规模迅速扩大。

Daniels Manufacturing公司的发展小趣事

在当今社会,绿色环保和可持续发展已成为全球共识。作为一家具有社会责任感的企业,DMC积极践行绿色环保理念,致力于实现可持续发展。在生产过程中,DMC采用环保材料和清洁能源,减少废弃物和污染物的排放。同时,DMC还注重产品的环保性能设计,推出了一系列符合环保标准的产品。此外,DMC还积极参与社会公益活动,支持环保事业和社区建设。

Comtech AHA Corp公司的发展小趣事

Comtech AHA Corp自创立之初,便以技术创新为核心竞争力。公司研发团队不断攻克技术难关,推出了一系列具有自主知识产权的高性能电子产品。其中,一款具有自主知识产权的通信芯片在市场上取得了巨大成功,为公司带来了可观的收益。随着技术的不断迭代升级,Comtech AHA Corp逐渐在电子行业中占据了一席之地。

DBM REFLEX公司的发展小趣事

DBM REFLEX公司成立于本世纪初,初期以提供光学组件的小规模定制服务为主。创始人对光学技术的深刻理解和对市场的精准把握,使公司迅速在光学器件领域崭露头角。随着技术的不断积累和市场需求的增长,DBM REFLEX逐渐扩大了产品线,开始为LED市场设计、铸模和生产高质量的光学器件。

问答坊 | AI 解惑

TTL反相器电路中某个三极管集电极电阻的计算问题

请问T1管的集电极电阻到底该如何看,如何计算?因为以往的电路大都是一个集电极电阻RC接到电源,而这个图就不一样了,因为T1管的集电极接的是T2管,我就有些搞不太懂到底T1管的集电极电阻怎么算,有的人讲T1管的集电极电阻是R2+T2管C-B结的反偏电阻 ...…

查看全部问答>

直流稳压电源 电子大赛培训资料

本帖最后由 jameswangsynnex 于 2015-3-3 20:00 编辑 …

查看全部问答>

急求VHDL高手进来帮我看一看

没有语法错误,但找不到症结在哪,请帮忙看一下,感谢! QQ704443450。小女子在线等…

查看全部问答>

png按钮的资源释放问题

开发环境:vc2005  arm   wince5.0 我用网上下的CCePngButtonST类做png按钮,想要实现同一个按钮上的png图片根据不同情况显示不同内容,比如播放器打开时显示一张图片,播放器关闭时显示另一张图片,结果点了n次后把内存都占 ...…

查看全部问答>

dereferencing type-punned pointer will break strict-aliasing rules

static int print(char **out, int *varg) {         register int width, pad;         register int pc = 0;         register char *format = (char *)(*varg++);   &nb ...…

查看全部问答>

DS1302程序读写

DS1302程序读写;对初学者很有帮助的哟;对C语言老手也很有参 考价值!…

查看全部问答>

CC2530发射功率

Zigbee协议栈(CC2530)发射功率最大能有多大呀,难道只有4.5dbm吗,请高手回答,谢谢…

查看全部问答>

闹心的DSP与codec器件通信

序:               搞了几块aic3256,按照TI公司的原理图做了最小系统,想用F2812来驱动,结果老是不行,好,我想,既然这样,那就从最简单的开始一步一步慢慢来。于是种种问题就浮出水面…… ...…

查看全部问答>

通用示波器几种常见故障的分析

安泰测试维修中心根据多年的维修经验,帮大家分析示波器的几种特殊故障,供广大的电子仪器维修者参考和学习。 一、无扫描线 出现无扫描线故障时应先检查电源电路、示波管电路、触发扫描电路、X轴放大器等的工作是否正常。若这些部分工作都正常 ...…

查看全部问答>