历史上的今天
今天是: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、上述设置完毕后,即可在逻辑层中进行调用,代码如下:
史海拾趣
|
本信息来自合作QQ群:电子工程师技术交流(12425841) 群主在坛子ID:Kata 麻烦推荐个运放,能测出1mV左右电压,失真比较小 用OP07可以不? … 查看全部问答> |
|
用keil编码1114的i2c,我在设置了编译优化选项之后出现了巨大的问题。索性,在取消掉所有的优化选项后i2c通信已经正常。 可惜结果仍然不正确,我就跟代码。这时候才发现一个无法理解的问题。我在funcA()里调用funcB()时传入一个静态myVar ...… 查看全部问答> |
|
如题,公司用的是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 ...… 查看全部问答> |
|
原帖不能编辑了,就新开一帖在这里,望斑竹谅解 目前为止,基于launchpad和nrf24l01的单向收发已经实现,程序在下面放出,还有很多要改进的,仅供参考。欢迎高手拍砖。 学习经历: 1.收到板子后查了下资料,发现很丰富啊,于是 ...… 查看全部问答> |
|
我用的是MPLAB ICE和PICC编译PIC16F722,之前编译什么的都没问题,重装系统后再安装后就再也编译不成功了,提示No installed compiler driver supports device 16F722。 编译PIC16F505没有问题。每次点Project-Select Language Toolsuite后HI-TECH ...… 查看全部问答> |




