历史上的今天
返回首页

历史上的今天

今天是:2024年09月12日(星期四)

正在发生

2018年09月12日 | STM32F4 开发笔记2: IO输出的设置

2018-09-12 来源:eefocus

    本文介绍STM32F407IO输出功能的设置方法。

   

    例:使用STM32F407的F9接L2,F10接L3,如下图所示:

图片 

    
    设置步骤如下:
    1、打开hal.h文件,更改一下内容,注意HAL_Init函数的声明是已经存在的,不需要更改,我们只需要加入L2和L3的宏定义,以及L2和L3打开与关闭的功能宏就可以了,这部分按照原理图生成,应该没有什么不好理解的。GPIO_SetBits是ST官方提供的置位函数,GPIO_ResetBits是ST官方提供的清零函数,在这里进行了直接调用。

图片 


    2、打开hal.c文件,修改HAL_Init函数,修改后的函数内容如下:

图片  

    
    3、RCC_AHB1PeriphClockCmd函数
         其第1个参数为AHB1上可挂接的外设,可在下列参数中进行选择:
            RCC_AHB1Periph_GPIOA

            RCC_AHB1Periph_GPIOB

            RCC_AHB1Periph_GPIOC

            RCC_AHB1Periph_GPIOD

            RCC_AHB1Periph_GPIOE

            RCC_AHB1Periph_GPIOF

            RCC_AHB1Periph_GPIOG

            RCC_AHB1Periph_GPIOH

            RCC_AHB1Periph_GPIOI

            RCC_AHB1Periph_GPIOJ

            RCC_AHB1Periph_GPIOK

            RCC_AHB1Periph_CRC

            RCC_AHB1Periph_FLITF

            RCC_AHB1Periph_SRAM1

            RCC_AHB1Periph_SRAM2

            RCC_AHB1Periph_BKPSRAM

            RCC_AHB1Periph_SRAM3

            RCC_AHB1Periph_CCMDATARAMEN

            RCC_AHB1Periph_DMA1

            RCC_AHB1Periph_DMA2

            RCC_AHB1Periph_DMA2D

            RCC_AHB1Periph_ETH_MAC

            RCC_AHB1Periph_ETH_MAC_Tx

            RCC_AHB1Periph_ETH_MAC_Rx

            RCC_AHB1Periph_ETH_MAC_PTP

            RCC_AHB1Periph_OTG_HS

            RCC_AHB1Periph_OTG_HS_ULPI 

    4、GPIO_InitStructure.GPIO_Mode用于指定输入和输出方式
        其值可在下列参数中进行选择:
            GPIO_Mode_IN    输入
            GPIO_Mode_OUT   输出
            GPIO_Mode_AF    特殊
            GPIO_Mode_AN    模拟

    5、GPIO_InitStructure.GPIO_OType用于指定输出模式
        其值可在下列参数中进行选择:
            GPIO_OType_PP   推挽
            GPIO_OType_OD   开漏

    6、GPIO_InitStructure.GPIO_Speed用于指定IO速度
        其值可在下列参数中进行选择:
            GPIO_Speed_2MHz   
            GPIO_Speed_25MHz  
            GPIO_Speed_50MHz   
            GPIO_Speed_100MHz  

    7、GPIO_InitStructure.GPIO_PuPd用于指定上下拉模式
         其值可在下列参数中进行选择:
            GPIO_PuPd_NOPULL    无上下拉
            GPIO_PuPd_UP        上拉 
            GPIO_PuPd_DOWN      下拉

    8、上述设置完毕后,即可在逻辑层中进行调用,代码如下:

图片 


推荐阅读

史海拾趣

Astro Tool Corp公司的发展小趣事

Astro Tool Corp公司深知产品质量是企业生存和发展的关键。因此,公司始终将质量管理放在首位,建立了完善的质量管理体系和检测机制。通过严格把控原材料采购、生产过程和成品检测等各个环节,公司确保了产品的稳定性和可靠性。同时,公司还注重品牌建设,通过提升产品附加值和服务质量,不断增强客户对公司的信任度和忠诚度。

超霸(GP)公司的发展小趣事

绿索超容深知品质是企业生存的根本。因此,公司从原材料采购到生产制造,再到成品检验,都实施了严格的质量控制措施。此外,公司还通过了ISO9001体系认证,进一步提升了其产品质量管理水平。这些努力不仅保证了绿索超容产品的优良品质,也为其赢得了客户的信任和好评。

Corsair Electrical Connectors Inc公司的发展小趣事

随着市场的不断发展,Corsair意识到只有不断创新才能在竞争中立于不败之地。因此,公司加大了对研发的投入,积极引进先进技术和设备,不断提升产品的性能和质量。在一次次的尝试和失败后,Corsair的研发团队终于突破了行业技术瓶颈,成功开发出了一款具有高性能、高稳定性的连接器产品。这一创新成果不仅赢得了客户的青睐,也为公司在行业中树立了良好的口碑。

Antenna Factor公司的发展小趣事

随着公司实力的不断增强,Antenna Factor公司开始将目光投向国际市场。他们积极参加国际电子展会和技术交流活动,与全球各地的客户和合作伙伴建立了广泛的联系。同时,公司还加大了对海外市场的研发投入和市场推广力度,逐步实现了产品的全球化销售。这一战略不仅为公司带来了更广阔的发展空间,也提升了其在全球电子行业中的竞争力。

通过以上五个故事,我们可以看到Antenna Factor公司在电子行业中的发展历程和取得的成就。他们以技术创新为驱动,不断突破自我,积极拓展市场,加强质量管理和品牌建设,逐步实现了公司的快速发展和壮大。未来,随着无线通信技术的不断进步和应用领域的不断拓展,相信Antenna Factor公司将继续保持领先地位,为电子行业的发展做出更大的贡献。

Dionics Inc公司的发展小趣事

在20世纪90年代初,Dionics Inc由几位对电子技术充满热情的工程师创立。当时,电子市场正处于快速发展期,但也面临着激烈的竞争。Dionics Inc凭借其在电源管理领域的创新技术,成功开发出一款高效节能的电源管理芯片,赢得了市场的认可。然而,随着市场的进一步开放,来自国内外的竞争对手纷纷涌入,Dionics Inc面临着巨大的挑战。

EMBEST公司的发展小趣事

随着公司业务的不断拓展和市场规模的逐步扩大,EMBEST在XXXX年成立了Timll和Giayee两个子公司。其中,Timll主要负责ARM工控业务,而Giayee则专门负责PDA/Smart Phone等业务。这两个子公司的成立不仅进一步拓展了EMBEST的业务领域,也为其未来的发展注入了新的活力。通过多元化的业务布局和精细化的管理,EMBEST在电子行业中的影响力日益增强。

问答坊 | AI 解惑

麻烦推荐个运放,能测出1mV左右电压,失真比较小~~

本信息来自合作QQ群:电子工程师技术交流(12425841) 群主在坛子ID:Kata   麻烦推荐个运放,能测出1mV左右电压,失真比较小 用OP07可以不? …

查看全部问答>

KEIL下LPC1114代码运行问题

用keil编码1114的i2c,我在设置了编译优化选项之后出现了巨大的问题。索性,在取消掉所有的优化选项后i2c通信已经正常。   可惜结果仍然不正确,我就跟代码。这时候才发现一个无法理解的问题。我在funcA()里调用funcB()时传入一个静态myVar ...…

查看全部问答>

疑问

   大家好,我现在跟同学一起做一个有关嵌入式的东西,就是想让平台上的图像在触摸屏幕上显示出来,用软件来实现 希望大家能多多指导!!…

查看全部问答>

有关CDMA模块的AT指令问题

如题,公司用的是ANTDATA公司出的DTGS-800模块,虽然也带有文档说明,但我觉得不够详细,所以特来发帖提问,希望大家踊跃发言,问题如下: 1、读取短信的时候,怎样才能不改变短信的状态呢?例如,执行了以下AT命令 AT+UGSM=1 返回OK(DTGS-800支 ...…

查看全部问答>

求助:PWM输出8.2KHZ1:1的方波,为什么在4.3K有个的很强频率分量

设置如下: unsigned short pwmizhouqi=256;   LPC_TMR16B1->TCR = 0;      LPC_SYSCON->SYSAHBCLKCTRL |= (1PIO1_9 = 0X01;   LPC_TMR16B1->MR0 = pwmizhouqi/2;       LPC ...…

查看全部问答>

求教

MSP430f2XX  系列单片机能不能用并口JTAG下载程序?一定要用USB  二线制的吗?谢谢…

查看全部问答>

LaunchPad调试nrf24l01--续

原帖不能编辑了,就新开一帖在这里,望斑竹谅解   目前为止,基于launchpad和nrf24l01的单向收发已经实现,程序在下面放出,还有很多要改进的,仅供参考。欢迎高手拍砖。   学习经历: 1.收到板子后查了下资料,发现很丰富啊,于是 ...…

查看全部问答>

单片机编程

http://wenku.baidu.com/view/eeb3310d6c85ec3a87c2c586.html…

查看全部问答>

MPLAB IDE和PICC编译问题。

我用的是MPLAB ICE和PICC编译PIC16F722,之前编译什么的都没问题,重装系统后再安装后就再也编译不成功了,提示No installed compiler driver supports device 16F722。 编译PIC16F505没有问题。每次点Project-Select Language Toolsuite后HI-TECH ...…

查看全部问答>