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

网站建设综合实训设计报告/黄山网络推广公司

网站建设综合实训设计报告,黄山网络推广公司,推广普通话活动方案和总结,镇江哪里做网站1.GPIO的输出模式: 推挽模式输出:因为LED0和LED1阳极都是3.3V,需要将阴极设置为低电平才可以点亮LED;操作io口时,必须引入源文件和头文件;关于时钟的文件存放在rcc中; 2.GPIO库函数介绍&#…

1.GPIO的输出模式:

  • 推挽模式输出:因为LED0和LED1阳极都是3.3V,需要将阴极设置为低电平才可以点亮LED;
  • 操作io口时,必须引入源文件和头文件;
  • 关于时钟的文件存放在rcc中;

2.GPIO库函数介绍:

(1).1个初始化函数:

  1. void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct);
  2. 作用:初始化一个或多个io口(同一组)的工作方式和速度,
  3. 该函数主要是操作GPIO_CRL(CRH)寄存器,在上拉或下拉的时候有设置BSRR或BRR寄存器;
  4. 主要包括设置指定初始化io口、设置工作模式(8种)、设置io口输出速度;
注意:
  • 外设(包括GPIO)在使用之前,几乎都要先使能对应的时钟;
  • 可以一次初始化一个io组下的多个io,前提是这些io口的设置方式一样;

(2).2个读取输入电平函数:

  1. uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
  2. 作用:读取某个GPIO的输入电平。实际操作GPIOx_IDR寄存器;
  3. uint16_t GPIO_ReadInputData(GPIO_TypeDef* GPIOx);
  4. 作用:读取某组GPIO的输入电平。实际也是操作GPIOx_IDR寄存器;

(3).2个读取输出电平函数:

  1. uint8_t GPIO_ReadOutputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
  2. 作用:读取某个GPIO的输出电平。实际操作的是GPIOx_ODR寄存器;
  3. uint16_t GPIO_ReadOutputData(GPIO_TypeDef* GPIOx);
  4. 作用:读取某组GPIO的输出电平。实际也是操作GPIOx_ODR寄存器;

(4).4个设置输出电平函数:

  1. void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
  2. 作用:设置某个io口输出为高电平(1)。实际操作BSRR寄存器;
  3. void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
  4. 作用:设置某个io口输出为低电平(0)。实际操作BRR寄存器;
  5. void GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitAction BitVal);
  6. void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal);
  7. 以上两个函数不常用,也是用来设置io口输出电平;

3.相关引脚原理图:

 4.跑马灯实验步骤:

  1. 使能io口时钟,调用RCC_APB2PeriphClockCmd()函数实现;
  2. 初始化io口模式,调用GPIO_Init()函数实现;
  3. 操作io口,输出高低电平;GPIO_SetBits()和GPIO_ResetBits()函数实现;
 注意:

        在使能io口时钟时,不同的io组,调用的时钟使能函数不一样;

(1)主函数:

#include "led.h"
#include "delay.h"int main(){LED_Init();     //LED初始化delay_init();   //延时初始化while(1){delay_ms(100);GPIO_ResetBits(GPIOB,GPIO_Pin_5);   //LED0亮GPIO_SetBits(GPIOE,GPIO_Pin_5);     //LED1不亮delay_ms(100);GPIO_SetBits(GPIOB,GPIO_Pin_5);   //LED0不亮GPIO_ResetBits(GPIOE,GPIO_Pin_5);   //LED1亮}}

(2)LED头文件:

#ifndef __LED_H
#define __LED_Hvoid LED_Init();#endif

(3)LED初始化功能函数:

#include "led.h"
#include "stm32f10x.h"/*1.功能:LED的初始化2.返回参数:无
*/
void LED_Init(){GPIO_InitTypeDef GPIO_InitStruct;//1.初始化io时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOE,ENABLE);//2.配置GPIOGPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_OD;  //推挽输出模式->既可以输出高电平也可以输出低电平GPIO_InitStruct.GPIO_Pin=GPIO_Pin_5;    //PB5GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;    //输出速率50MHzGPIO_Init(GPIOB,&GPIO_InitStruct);GPIO_SetBits(GPIOB,GPIO_Pin_5); //LED0灭->LED对应的引脚,高电平灭,低电平亮GPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_OD; //推挽输出模式GPIO_InitStruct.GPIO_Pin=GPIO_Pin_5;    //PE5GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Init(GPIOE,&GPIO_InitStruct);  GPIO_SetBits(GPIOE,GPIO_Pin_5); //LED1灭}

http://www.jmfq.cn/news/4870063.html

相关文章:

  • 小型教育网站的开发与建设/关键词优化哪家强
  • wordpress改颜色/优化营商环境工作总结
  • 海口seo整站/软文营销范文100字
  • 中国建设银行属于什么类型网站/seo推广思路
  • 自己做网站可以挣钱吗/产品营销策略
  • 网站因该怎么做参考文献/企业网站推广的方法有
  • 科技企业网站建设/厦门seo测试
  • 郑州网络推广专员/数字营销服务商seo
  • 如何自己注册网站/百度推广首次开户需要多少钱
  • 用狐狸做logo的网站/百度app下载官方免费下载安装
  • 一流的常州做网站/哪些店铺适合交换友情链接
  • 淮安网站建设优化/网站推广工具
  • 如何建设优化一个网站/市场监督管理局职责范围
  • 心理测评做测试的网站/如何查看百度指数
  • 东营设计网站建设/电子商务
  • 大型网站 css/手机做网页的软件
  • 电子商务网站有哪些功能/软文写作的三个要素
  • 做同城网站最赚钱/搭建网站平台需要多少钱
  • 南昌网站建设方案优化/信息流优化师证书
  • wordpress5.52 php版本/四川百度推广和seo优化
  • 如何做淘宝cms导购网站/响应式网站模板的特点
  • 结合七牛云做视频网站/站长之家关键词挖掘
  • 广州哪家网站建设好/合肥网站推广公司排名
  • 海尔商务网站建设/怎样把个人介绍放到百度
  • 德州做网站的/软文
  • 做网站的主题/营销型网站建设价格
  • 陕西网站开发企业/百度指数是啥
  • 网站 搜索引擎 提交/长沙网络营销顾问
  • 银川网站建设联系电话/找百度
  • 如何做电子书网站/百度关键词收费标准