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

旅游网站建设的目标是什么短网址生成网站

旅游网站建设的目标是什么,短网址生成网站,平面设计一般学多久,wordpress 如何添加模板文件1、简要说明与电路图 LED灯与蜂鸣器都是GPIO的输出操作,给高低电平实现。GPIO操作也是后续操作的基础,没有什么难度,记不住寄存器没关系,只要把流程理清楚就可以了。 端口配置成推挽输出模式,高低电平均有驱动能力。 …

1、简要说明与电路图

LED灯与蜂鸣器都是GPIO的输出操作,给高低电平实现。GPIO操作也是后续操作的基础,没有什么难度,记不住寄存器没关系,只要把流程理清楚就可以了。

端口配置成推挽输出模式,高低电平均有驱动能力。

端口配置成开漏输出模式,低电平有驱动能力,高电平无驱动能力。

2、具体步骤

(1)开启外设时钟

为了实现低功耗,STM32默认所有外设总线时钟全部关闭。要使用相应的外设,首先开启相应外设总线的时钟。由上图可知,四个LED灯都是接GPIOA组的0-3口。

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); 

APB1是低速外设总线,APB2是高速外设总线,GPIO都是挂在APB2上的。

(2)配置GPIOA的引脚属性

a、定义GPIO结构体变量,属于GPIO结构体类型

GPIO_InitTypeDef GPIO_InitStructure; 

b、配置4个端口的属性为推挽输出模式和速度为50MHZ

GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3; //引脚4
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP; //引脚输入输出模式为推挽输出模式
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; //引脚输出速度为50MHZ

c、初始化各端口和设置端口初值

    GPIO_Init(GPIOA, &GPIO_InitStructure); //根据上面设置好的GPIO_InitStructure参数,初始化引脚GPIOA_PIN0-3
    GPIO_SetBits(GPIOA, GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3); //初始化设置引脚GPIOA0-3为高电平

(3)将这些过程操作封装成函数,可以在主程序中调用

led.c与led.h

#include "led.h" 
#include "stm32f10x_gpio.h" //LED硬件初始化函数定义
void LED_Init(void)
{GPIO_InitTypeDef GPIO_InitStructure; //定义一个引脚初始化的结构体RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //使能GPIOA时钟,GPIOA挂载在APB2时钟下,在STM32中使用IO口前都要使能对应时钟GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3; //引脚4GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP; //引脚输入输出模式为推挽输出模式GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; //引脚输出速度为50MHZGPIO_Init(GPIOA, &GPIO_InitStructure); //根据上面设置好的GPIO_InitStructure参数,初始化引脚GPIOA_PIN0-3GPIO_SetBits(GPIOA, GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3); //初始化设置引脚GPIOA0-3为高电平
}
#ifndef __LED_H //与 #endif 一起使用,避免重复引用头文件,提高编译效率
#define __LED_H //如果没有引用过头文件,则进入以下定义void LED_Init(void); //定义函数原型(函数声明),一般头文件(.h文件)内都是函数原型,//.c文件内都是函数定义
//该函数为LED硬件初始化函数
#endif //定义完毕,或者引用过头文件到达这一步

3、main函数

#include "stm32f10x.h"                  // Device header
#include "delay.h"  
#include "LED.h" 
#include "sys.h" 

int main(void)
{
    LED_Init(); //调用初始化LED函数,引用"led.h"后可使用
    delay_init(); //调用初始化延迟函数,引用"delay.h"后可使用
  while(1)
    {
            unsigned char i;
            for(i=0;i<4;i++)
            {
                GPIO_Write(GPIOA,~(0x0001<<i));//同时对16个端口进行操作
                delay_ms(300);
            }                //延迟300毫秒,引用"delay.h"后可使用
    }
}

蜂鸣器的操作和LED一模一样,只是换个GPIO口而已,也是低电平鸣叫,这个要根据电路图来。


 

http://www.mmbaike.com/news/69430.html

相关文章:

  • 有意思的网站优化营商环境个人心得
  • 做app动态界面的网站有哪些东莞百度推广优化排名
  • 做业务员要认识什么批发网站宣传推广文案
  • 美食网站首页设计上海优质网站seo有哪些
  • 郑州小程序开发外包公司朝阳seo排名
  • 宝安做棋牌网站建设哪家技术好百度推广关键词技巧定价
  • 网站优化流程图百度竞价客服电话
  • wordpress grace主题网站优化外包
  • wordpress 扒站教程机构类网站有哪些
  • 网络游戏有哪些株洲seo快速排名
  • wordpress隐藏内容百度首页排名优化平台
  • 深圳形象设计公司郑州网站关键词优化外包
  • 做网站好公司国家域名注册服务网
  • 做网站卖假名牌违法吗云南疫情最新情况
  • 自己开发一个网站多少钱seo排名软件怎么做
  • 深圳网站设计公司有哪些百家号seo
  • 公司怎样做网络推广佛山seo关键词排名
  • 北京建委官网站网络营销课程介绍
  • 有了公网ip如何做网站sem优化托管
  • 北京专业网站设计公司搜索网站
  • 南宁网站建设公司如何为老板打造网站赚钱的前端优化
  • 河南省建设协会网站真正免费的网站建站平台有哪些
  • 网站源码授权破解自动seo优化
  • jn建站系统官网网站排名seo培训
  • wordpress视频网站主题windows优化大师是什么
  • 一家专门做特产的网站凡科网小程序
  • 网站建设公司排行榜网页制作素材模板
  • 新网站成立如何做测试计划福州seo
  • 自己搭建vps上外网seo教程免费
  • 网站开发所需的技术提高工作效率的方法有哪些