历史上的今天
今天是: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;
}
}
我们写代码的时候使用函数的时候,优先使用函数宏。
上一篇:stm32串口点灯
下一篇:stm32入门之点灯
史海拾趣
|
请问T1管的集电极电阻到底该如何看,如何计算?因为以往的电路大都是一个集电极电阻RC接到电源,而这个图就不一样了,因为T1管的集电极接的是T2管,我就有些搞不太懂到底T1管的集电极电阻怎么算,有的人讲T1管的集电极电阻是R2+T2管C-B结的反偏电阻 ...… 查看全部问答> |
|
开发环境: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 ...… 查看全部问答> |
|
序: 搞了几块aic3256,按照TI公司的原理图做了最小系统,想用F2812来驱动,结果老是不行,好,我想,既然这样,那就从最简单的开始一步一步慢慢来。于是种种问题就浮出水面…… ...… 查看全部问答> |
|
安泰测试维修中心根据多年的维修经验,帮大家分析示波器的几种特殊故障,供广大的电子仪器维修者参考和学习。 一、无扫描线 出现无扫描线故障时应先检查电源电路、示波管电路、触发扫描电路、X轴放大器等的工作是否正常。若这些部分工作都正常 ...… 查看全部问答> |




