SMT32控制IO时,模式和速度如果一样可以省略

发布者:BoldDreamer最新更新时间:2019-02-14 来源: eefocus关键字:SMT32  控制IO  模式  速度 手机看文章 扫描二维码
随时随地手机看文章

#include "led.h"

#include "stm32f10x.h"


void LED_Init(void)

{

    GPIO_InitTypeDef GPIO_InitStructure;                 //定义一个GPIO初始化结构体

//    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE); //PB口时钟使能

//    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOG,ENABLE); //PG口时钟使能

//    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOF,ENABLE); //PF口时钟使能

//    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE); //PC口时钟使能

//    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); //PE口时钟使能

    

    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOG | RCC_APB2Periph_GPIOF | RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOA,ENABLE);

   这里五行代码用一行就可以了,用  |   ,体现了算法的精妙! 




 //下面的用到的IO口工作模式和速度都是一样的,所以设置一次就行


    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;  //推挽输出

    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;         //设置第13管脚

    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //设置速度50MHz

    GPIO_Init(GPIOB, &GPIO_InitStructure);            //调用GPIO初始化函数

    GPIO_SetBits(GPIOB, GPIO_Pin_13);                  //设置PB13管脚输出高电平

    

    //GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;  //推挽输出

    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;         //设置第0管脚

    //GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //设置速度50MHz

    GPIO_Init(GPIOG, &GPIO_InitStructure);            //调用GPIO初始化函数

    GPIO_SetBits(GPIOG, GPIO_Pin_0);                  //设置PG0管脚输出高电平

    

    //GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;  //推挽输出

    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_14;         //设置第14管脚

    //GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //设置速度50MHz

    GPIO_Init(GPIOF, &GPIO_InitStructure);            //调用GPIO初始化函数

    GPIO_SetBits(GPIOF, GPIO_Pin_14);                  //设置PF14管脚输出高电平

    

    //GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;  //推挽输出

    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12;         //设置第12管脚

    //GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //设置速度50MHz

    GPIO_Init(GPIOF, &GPIO_InitStructure);            //调用GPIO初始化函数

    GPIO_SetBits(GPIOF, GPIO_Pin_12);                  //设置PF12管脚输出高电平

    

    //GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;  //推挽输出

    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;         //设置第2管脚

    //GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //设置速度50MHz

    GPIO_Init(GPIOB, &GPIO_InitStructure);            //调用GPIO初始化函数

    GPIO_SetBits(GPIOB, GPIO_Pin_2);                  //设置PB2管脚输出高电平

    

    //GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;  //推挽输出

    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;         //设置第0管脚

    //GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //设置速度50MHz

    GPIO_Init(GPIOB, &GPIO_InitStructure);            //调用GPIO初始化函数

    GPIO_SetBits(GPIOB, GPIO_Pin_0);                  //设置PB0管脚输出高电平

    

    //GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;  //推挽输出

    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4;         //设置第4管脚

    //GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //设置速度50MHz

    GPIO_Init(GPIOC, &GPIO_InitStructure);            //调用GPIO初始化函数

    GPIO_SetBits(GPIOC, GPIO_Pin_4);                  //设置PC0管脚输出高电平

    

    //GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;  //推挽输出

    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;         //设置第5管脚

    //GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //设置速度50MHz

    GPIO_Init(GPIOA, &GPIO_InitStructure);            //调用GPIO初始化函数

    GPIO_SetBits(GPIOA, GPIO_Pin_6);                  //设置PA6管脚输出高电平

}


关键字:SMT32  控制IO  模式  速度 引用地址:SMT32控制IO时,模式和速度如果一样可以省略

上一篇:跑马灯实验-寄存器版
下一篇:STM32f407与STM32F103 串口采用DMA收发数据配置方法的异同

推荐阅读最新更新时间:2024-03-16 16:24

按键检测非阻塞代码(2种模式
按键检测的2种模式(低电平触发和高电平触发) 12f509为控制芯片 GP5口是按键检测口 key_time_cnt//延时计数器 key_flag//按键标志(key_flag=1按键有效,否则无效) TIME_MAX//计数阀值 num//按键的功能变量 模式1(低电平触发) if(GP5==1)//如果I/O是高电平,说明没有键按下 { key_flag=0;//按键标志清零(无效) key_time_cnt=0;//延时计数器清零 } else if(key_flag==0)//这句话的意思其实是else if((key_flag==0)&&(GP5==0))按键被按下,而且是第一次被按下 { key_time_cnt+
[单片机]
按键检测非阻塞代码(2种<font color='red'>模式</font>)
一文读懂机器视觉行业发展趋势,技术更新速度加快
在中国, 机器视觉 应用起源于20世纪80年代的技术引进。中国机器视觉在中国起步较晚,真正在工业领域的广泛应用还不到十年的时间,远远落后于中国工业自动化市场的发展速度和规模。     2010年行业经过了4-5年的孕育和积累,经济增长回暖,行业实现48%的快速增长。2010年,机器视觉市场高速增长的主要原因在于:电子制造、市政交通、汽车、食品和包装机械等众多行业需求的大幅增长带来包括机器视觉在内的自动化产品的需求增长;政策性因素和内生式复苏带来的增长在市政交通、汽车和电子制造行业表现明显。   从行业应用来看,电子制造行业仍然是拉动需求高速增长的主要因素。2010年机器视觉产品电子制造行业的市场规模为3.7亿人民币,增长60.
[嵌入式]
曝iPhone 15 Pro支持USB 3.2:速度质变
3月24日消息,据MacRumors报道,iPhone 15系列全系标配USB-C接口,这里的USB-C本质上只是对接口形状的描述,具体的传输速率,还要看它支持什么规格的USB协议,一般要么是USB 2.0,要么是USB 3.X。目前iPhone用的是Lightning接口,支持的是USB 2.0协议。 对于即将到来的iPhone 15系列,爆料称iPhone 15 Pro至少会支持USB 3.2,而iPhone 15标准版支持USB 2.0。 众所周知,手机数据接口支持的USB协议不同,传输速率也会有很大差别。这次iPhone 15 Pro支持USB 3.2,传输速率一般能达到5Gbps,换算下来大概是500MB/s。而
[手机便携]
电源技巧:电流模式控制简化了对降压LED稳压器的补偿
通过较高的输入电压来调节LED中的电流,最有效的方法是使用一个同步降压稳压器。这可以通过一个集成场效应晶体管 (FET),峰值电流模式控制器轻松实现。在峰值电流模式控制中,COMP电压(经常被称作误差信号),直接控制峰值电感器电流。这使得电感器表现为一个电流源,其原因是他的阻抗变化对于电流幅值的影响很小。使用一个诸如TPS54218的峰值电流模式控制器的主要优势是这种器件几乎消除了由控制环路增益造成的电感器频率响应。 下面的方框图详细展示了一个同步降压转换器,其中的LED和感测电阻器与电感器串联。在这个应用中,电感器的全纹波电流流经LED。如果需要较少的纹波电流,只需增加电感值或将一个电容器与LED并联即可。无论输出电容器存在与
[嵌入式]
电源技巧:电流<font color='red'>模式</font><font color='red'>控制</font>简化了对降压LED稳压器的补偿
一种新颖的电流连续模式功率因数校正电路的研究
摘要:介绍了一种固定关断时间控制的功率因数校正电路,它的主要特点是通过外部简单电路来控制开关管的关断时间,从而实现了固定关断时间,这样可以提高输出功率等级。实验表明:这种控制方法实现了固定关断时间控制。 关键词:固定关断时间;功率因数校正;电流连续模式 引言 目前以Boost为主电路的PFC电路的控制方法有两种,即固定频率PWM(CCM)和临界导通PWM(DCM)。对于相同的输出功率等级来说,DCMPFC电路中的峰值电流要比CCMPFC电路中的峰值电流大。一般说来,对于小功率PFC电路,采用DCM的控制方法;对于大功率PFC电路,则采用CCM的控制方法;对于中间功率,则希望电路根据输入电压和负载工作在CCM或DCM,这样就可以提高电
[电源管理]
电压临界工作模式的有源功率因数校正器的设计应用
   O 引言   提高开关电源的功率因数,不仅可以节能,还可以减少电网的谐波污染,提高了电网的供电质量。为此,研究出多种提高功率因数的方法,其中,有源功率因数校正技术(简称APFC)就是其中的一种有效方法,它是通过在电网和电源之间串联加入功率因数校正装置,目前最常用的为单相升压前置升压变换器原理,它由专用芯片实现的,且具有高效率、电路简单、成本低廉等优点,本文介绍的低成本电压型临界工作模式APFC控制芯片FAN7530即可实现该功能。    1 FAN7530的电路特点   1.1 内部电路   如图l所示,FAN7530N DIP8封装,也有SMD封装(FAN7530M),内部含有自启动定时器、正交倍增器、零电流检测器、
[电源管理]
电压临界工作<font color='red'>模式</font>的有源功率因数校正器的设计应用
MAX24001突发模式激光收发器
MAX24001是一个完整的突发模式激光驱动器,发射器和限幅放大器接收器内使用的光纤模块的FTTx应用。一个完全符合标准的GPON / GEPON模块使用时,可实现具有2KB EEPROM和合适的光学与数字诊断。可替换地,微控制器可以与MAX24001一起使用,然而,这不是必需的,为了实现SFF-8472遵守。 在2.5Gbps的限制接收路径功能的可编程输出摆幅控制,速率选择,以及基于OMA-信号丢失检测。函数也提供便利执行,而不需要外部的DC-DC转换器的APD偏置。 突发模式激光驱动器具有温度补偿的调制控制,通过查找表。激光电源采用闭环控制跟踪误差补偿和快速解决激光功率,从而实现快速登记和关闭网络上的有多个选项。诊断是加强
[模拟电子]
MAX24001突发<font color='red'>模式</font>激光收发器
微捷码Titan提供更高质量、更快速度的模拟IP设计融合
2011年11月30日 微捷码Titan提供更高质量、更快速度的模拟IP设计融合 超过30个客户已采用Titan技术来加速模拟/混合信号设计的创建和重复利用 美国加州圣荷塞 2011年11月30日– 芯片设计解决方案供应商微捷码(Magma(r))设计自动化有限公司(纳斯达克代码:LAVA)日前宣布,新版Titan(tm)模拟/混合信号(AMS)设计平台正式面市。采用了正申请专利的模拟设计技术,Titan提供了一种创新性FlexCell-to-GDSII(tm)模拟/混合信号(AMS)流程,可有组织地将电学设计和物理设计集成进一个统一的设计方法中。这款范式转移、电学-物理联合设计流程范围可涵盖从如Titan模拟设计加速器(Tit
[模拟电子]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved