当前位置: 首页 > wzjs >正文

苏州网站建设培训浏览器下载

苏州网站建设培训,浏览器下载,竞价推广返点开户,免费认证网站一、简单介绍 嵌入式系统中的流水灯是一种常见的示例项目,通常用于演示嵌入式系统的基本功能和控制能力。流水灯由多个发光二极管(LED)组成,这些LED按照一定的顺序依次点亮和熄灭,形成一种像水流一样的流动效果。 二、…

一、简单介绍

      嵌入式系统中的流水灯是一种常见的示例项目,通常用于演示嵌入式系统的基本功能和控制能力。流水灯由多个发光二极管(LED)组成,这些LED按照一定的顺序依次点亮和熄灭,形成一种像水流一样的流动效果。

二、查看功能手册

这里我们使用STM32F40xxx这个板子来实现流水灯这个小项目

2.1 查看硬件引脚号码

 由上图可知,LED0这个灯所在引脚 PF9,LED1这个灯所在引脚 PF10

可知 PF9:"PF"表示端口F,"9"表示该端口上的第9号引脚

        PF10:"PF"表示端口F,"10"表示该端口上的第10号引脚

2.2查看硬件引脚号码对应的时钟型号

 

根据硬件引脚号码,LED0和LED1都是PF,那么控制他俩的时钟型号都是GPIOF,而根据上图可知,GPIOF在AHB1总线上,根据这个逻辑就能找到GPIOF时钟型号,并打开时钟信号。

AHB1ENR 寄存器用于配置 AHB1 总线上各个模块的时钟使能位。通过将 0x00000020 写入 AHB1ENR 寄存器的相应位置,启用了 GPIOF 的时钟

所以打开控制LED0,LED1的时钟信号就是使用一下

RCC->AHB1ENR=0x00000020;//时钟使能

2.3、确定输出模式

GPIOF->MODER=0x00040000;//配置引脚为输出模式

2.4、确定输出类型

GPIOF->OTYPER=0x00000000;//设置输出模式为推挽输出

2.5、确定输出速度

GPIOF->OSPEEDR=0x000C0000;//

2.6、确定端口输出数据

2.6.1 开灯

原理:开灯需要一个低电平,注意不是高电平

//GPIOF->ODR=0x00000000;

2.6.2 关灯

原理:关灯需要一个高电平,注意不是低电平

 

找到引脚9 然后将值改成1,后续通过非门输出就为0,即关灯

//GPIOF->ODR=0x0200;

三、使用现成函数来实现

注意这里我们的逻辑还是和二一样,首先重重之重的就是时钟信号,必须先打开时钟信号,然后创建一个结构体,这个结构体当中有输入输出模型,速度,引脚等,用于初始化灯。

 3.1 Pin引脚

3.2 输入/输出模式

3.3输出类型

3.4 速度

3.5 设置引脚的上下拉电阻

3.6 开关灯

void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);//关灯
void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);//开灯

注意:开灯是低电平有效,关灯是高电平有效。

GPIO_SetBits函数用于将某位引脚置1,使其输出高电平。

GPIO_ResetBits函数用于将某位引脚置0,使其输出低电平。

四、代码实现

#ifndef _LED_H_
#define _LED_H_
void LED_Init(void);void LED1_ON(void);
void LED1_OFF(void);void LED2_ON(void);
void LED2_OFF(void);#endif // GPIO_CONFIG_H
#include "LED.h"
#include "stm32f4xx.h"  
void LED1_ON(void)//开灯
{GPIO_ResetBits(GPIOF,GPIO_Pin_9);
}
void LED1_OFF(void)//关灯
{GPIO_SetBits(GPIOF,GPIO_Pin_9);
}void LED2_ON(void)
{GPIO_ResetBits(GPIOF,GPIO_Pin_10);
}
void LED2_OFF(void)
{GPIO_SetBits(GPIOF,GPIO_Pin_10);
}
void LED_Init(void)
{RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF, ENABLE);//使能GPIO_InitTypeDef GPIO_InitTypeDefStruct1;GPIO_InitTypeDefStruct1.GPIO_Mode=GPIO_Mode_OUT;//输出GPIO_InitTypeDefStruct1.GPIO_OType=GPIO_OType_PP;//推挽输出GPIO_InitTypeDefStruct1.GPIO_Pin=GPIO_Pin_9|GPIO_Pin_10;//引脚GPIO_InitTypeDefStruct1.GPIO_Speed= GPIO_High_Speed ;//速度GPIO_Init(GPIOF,&GPIO_InitTypeDefStruct1);
}int main()
{LED_Init();LED1_OFF();LED2_OFF();/*int n=500000;while(1){while(n--){};n=5000000;//延时LED1_ON();while(n--){};n=5000000;LED1_OFF();while(n--){};n=5000000;LED2_ON();while(n--){};n=5000000;LED2_OFF();}*/
}

http://www.dtcms.com/wzjs/583814.html

相关文章:

  • 做爰网站名称制作外贸网站的公司简介
  • 桐庐营销型网站建设wordpress使用什么数据库连接
  • 高唐做网站网站开发课程意见和建议
  • 海口大禾互联网科技有限公司网站怎么做关键词优化
  • 蚌埠网站制作网站 建设 初期规划
  • 木樨园网站建设公司wordpress wp_list_pages函数
  • 西安烽盈网站建设做的图怎么上传到网站
  • 电子商务网站建设及推广临海制作网站公司
  • 萝岗做网站wordpress 重写 函数
  • 广州网站改版设计制作个人安装公司怎么注册
  • 做网站公司的使命南阳网站制作哪家好
  • 怎样注册网站账号申请平台公司是什么意思
  • 如何把自己网站推广出去肥西建设局官方网站
  • 聚牛网站建设公司苏州网站建设问问q778925409强涵
  • django怎么做网站标书制作软件免费版
  • win2003 做网站服务器上海门户网站建设公司
  • 中学网站管理系统下载官网网站开发框架
  • 网站功能模块 分析零件加工网上接订单
  • 电商 网站 降低 跳出率 措施 效果天元建设集团有限公司被山东高速收购了吗
  • 网站备案号在哪里看搜索引擎链接
  • 建立导购网站营销软件排名
  • 自己做网站卖东西犯法吗免费行情的软件大全下载
  • 丽江市建设局网站企业网站建设服务哪家好
  • 网站小图标素材下载阳江市招聘最新招聘信息
  • 网站网站怎么建设商城网站建设用乐云seo系统
  • 胶州专业建站长沙网站建设接单
  • 可上传多个视频的网站建设代加工手工活外发免费 来料加工
  • 如何建网站的步骤代理公司注册地址
  • 手机网站制作网站建设开发软件
  • 免费制作网站的基本流程聊城网站建设动态