历史上的今天
返回首页

历史上的今天

今天是:2025年02月14日(星期五)

正在发生

2019年02月14日 | SMT32控制IO时,模式和速度如果一样可以省略

2019-02-14 来源:eefocus

#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管脚输出高电平

}


推荐阅读

史海拾趣

Genesys Logic公司的发展小趣事

90年代初期,“General Microcircuits”敏锐地捕捉到市场对定制化半导体解决方案的需求增长。公司迅速调整战略,成立专门的定制化服务部门,为客户提供从需求分析、设计开发到生产测试的全流程定制化服务。这种以客户为中心的服务模式赢得了众多客户的青睐,尤其是在通信、汽车电子等高端应用领域,公司凭借定制化的高性能芯片解决方案占据了重要的市场份额。

Antenna Factor公司的发展小趣事

为了进一步扩大市场份额,Antenna Factor公司积极寻求与各行各业的合作伙伴建立合作关系。他们与多家通信设备制造商、电信运营商以及互联网企业签订了战略合作协议,共同推动无线通信技术的发展和应用。这些合作不仅为公司带来了更多的商业机会,也提升了其在行业中的影响力。

AK-Nord_GmbH公司的发展小趣事

AK-Nord_GmbH公司自成立之初,便以技术创新为核心竞争力。在公司发展的早期阶段,团队研发出了一款具有革命性的电源管理芯片,该芯片以其高效能和稳定性迅速赢得了市场的认可。随着技术的不断完善和迭代,公司逐渐在电源管理领域树立了领先地位。随后,AK-Nord_GmbH又投入大量资源进行无线通信技术的研发,成功推出了一系列高性能的无线通信模块,进一步巩固了其在电子行业中的地位。

ELM [ELM Electronics]公司的发展小趣事

ELM Electronics成立于XXXX年,由一群富有创新精神和电子技术专长的工程师创立。初创时期,公司专注于设计和生产高质量的电子元器件,以满足日益增长的电子产品市场需求。通过不断的技术创新和严格的质量控制,ELM逐渐在电子行业中树立了良好的口碑。

B+B SmartWorx公司的发展小趣事

2016年,B+B SmartWorx与研华达成合并协议,成为研华全球大家庭的一员。这次合并是双方战略发展的重要一步,研华看中了B+B SmartWorx在物联网和工业网通领域的深厚积累,而B+B SmartWorx则借助研华在亚洲的资源与经验,进一步拓展其全球市场。合并后,双方在产品开发、业务布局等方面进行了深度融合,共同推动工业物联网领域的发展。

Dynawave Incorporated公司的发展小趣事

随着市场的扩大,Dynawave面临着产品质量管理的挑战。为了确保产品的稳定性和可靠性,公司决定引入国际先进的质量管理体系。他们聘请了专业的质量管理团队,对生产流程进行严格的监控和把控。同时,公司还加大了对员工的培训力度,提高了员工的质量意识。这些措施有效地提升了产品的质量水平,增强了客户的信任度。

问答坊 | AI 解惑

电子系统设计基本知识

本文有模拟电路、数字电路、单片机电路、ARM硬件、ARM编程等基础知识,里面还有电阻、电容、半导体二级管三极管等元器件的介绍,还有电源电路、电路设计、通信系统等。欢迎想学电子基础知识的人下载。…

查看全部问答>

大家A有整体方案了没有

本帖最后由 paulhyde 于 2014-9-15 09:04 编辑 大家A有整体方案了没有  …

查看全部问答>

DO-254中的高设计可靠性的逻辑综合(二)

书接上文 https://bbs.eeworld.com.cn/thread-92283-1-1.html 逻辑综合 如图中所示,逻辑综合是PLD,FPGA,ASIC设计的中心环节。在数十年中,逻辑综合工具把高级语言转换为门级电路,使设计师能够在更高的抽象层次上进行硬件设计,极大的提高 ...…

查看全部问答>

防水鞋套

现在已经很少有人因为下雨而穿雨靴了,但是真碰上雨下大的时候,普通的鞋子还真是不堪一击,很快就会被湿透。这个时候,你或许需要这样一款独特的“雨衣”。它并不是给身体挡雨的,而是用来保护鞋子的。这其实就是一双防水鞋套,可以跟雨衣和雨伞放 ...…

查看全部问答>

单片机实现液晶显示的开发方案

我们的产品希望用液晶屏显示,不知各位高人有什么比较好的实现方法吗?(接口可以是232或者485)…

查看全部问答>

三星S3C241O的中断问题

我最近在学华恒ARM9,用的是三星S3C2410当做到中断这个问题的时候,遇到了问题,还请各位大虾帮忙 问题如下: 1、不管我把中断置一还是置零都没看到区别,和芯片资料有出入,为什么会这样 2、我把中断待决寄存器和源待决寄存器的值读出来,发现 ...…

查看全部问答>

请问哪里有无线协议的详细文档下载?

刚学GPRS开发,想找些无线通讯协议看看,google了一下,没找到,所以想请教一下,哪里有这一类的完整文档下载,谢谢!…

查看全部问答>

求助。。。。

用iar for msp430怎么下载程序到430里? 求具体过程,最好能有×××××× 还有就是怎么看程序是否在下载?单片机是否在运行? 本人初学,只有一点51的基础,还请各位多多指教…

查看全部问答>

请各位朋友来帮小弟看看这段代码

代码如下: /  UART初始化 void uartInit(void) {     SysCtlPeriEnable(SYSCTL_PERIPH_UART1);                  //  使能UART模块   &nbs ...…

查看全部问答>

msp430 TIMER 产生的pwm

#include \"msp430g2553.h\" //unsigned char SPWM_FLAG; unsigned char i=0; void main(void) { //unsigned char i=0;    //unsigned char a[32]={0x80,0x98,0xb0,0xc6,0xda,0xea,0xf5,0xfd,0xff,0xfd,0xf5,0xea,0xda,0xc6,0xb0, ...…

查看全部问答>