GPIO_InitStructure

合集下载

gpio配置

gpio配置

1.使能GPIO的AHB时钟,使用函数:RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOx, ENABLE);例如:RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE);2、GPIO_InitTypeDef GPIO_InitStructure;声明一个结构体,名字是GPIO_InitStructure,结构体原型由GPIO_InitTypeDef 确定,stm32里面初始化GPIO用的吧。

设置完了GPIO_InitStructure里面的内容后在GPIO_Init (GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_InitStruct)里面调用,比如初始化PA口,就是GPIO_Init (GPIOA, &GPIO_InitStructure),括号里后面那个就是你声明的那个结构体3.配置GPIO工作模式用GPIO_Init()函数:数据类型说明typedef struct{uint32_t GPIO_Pin; //引脚配置GPIOMode_TypeDef GPIO_Mode; //GPIO_Mode_IN(输入),GPIO_Mode_OUT(输出),GPIO_Mode_AF(备用),GPIO_Mode_AN(模拟)GPIOSpeed_TypeDef GPIO_Speed;// GPIO_Speed_2MHz,GPIO_Speed_25MHz,GPIO_Speed_50MHz,GPIO_Speed_100MHz GPIOOType_TypeDef GPIO_OType; // GPIO_OType_PP(推挽),GPIO_OType_OD(开漏)GPIOPuPd_TypeDef GPIO_PuPd; GPIO_PuPd_NOPULL(无),GPIO_PuPd_UP(上拉),GPIO_PuPd_DOWN(下拉)}GPIO_InitTypeDef;例如:GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;//对结构体的GPIO_Mode对象赋值,声明IO口的模式是输出GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;//对结构体的GPIO_OType对象赋值,声明IO口的结构是推挽输出GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;//对结构体的GPIO_Speed对象赋值,声明速度是100MHzGPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; //对结构体的GPIO_PuPd对象赋值,声明内部上拉4.备用功能配置(除ADC和DAC外的所有非GPIO功能),使用函数void GPIO_PinAFConfig(GPIO_TypeDef* GPIOx, uint16_t GPIO_PinSource, uint8_t GPIO_AF)例如:GPIO_PinAFConfig(GPIOA, GPIO_PinSource9 , GPIO_AF_USART1);* This GPIO_AF can be one of the following values:* @arg GPIO_AF_RTC_50Hz: Connect RTC_50Hz pin to AF0 (default after reset)* @arg GPIO_AF_MCO: Connect MCO pin (MCO1 and MCO2) to AF0 (default after reset)* @arg GPIO_AF_TAMPER: Connect TAMPER pins (TAMPER_1 and TAMPER_2) to AF0 (default after reset)* @arg GPIO_AF_SWJ: Connect SWJ pins (SWD and JTAG)to AF0 (default after reset)* @arg GPIO_AF_TRACE: Connect TRACE pins to AF0 (default after reset)* @arg GPIO_AF_TIM1: Connect TIM1 pins to AF1* @arg GPIO_AF_TIM2: Connect TIM2 pins to AF1* @arg GPIO_AF_TIM3: Connect TIM3 pins to AF2* @arg GPIO_AF_TIM4: Connect TIM4 pins to AF2* @arg GPIO_AF_TIM5: Connect TIM5 pins to AF2* @arg GPIO_AF_TIM8: Connect TIM8 pins to AF3* @arg GPIO_AF_TIM9: Connect TIM9 pins to AF3* @arg GPIO_AF_TIM10: Connect TIM10 pins to AF3* @arg GPIO_AF_TIM11: Connect TIM11 pins to AF3* @arg GPIO_AF_I2C1: Connect I2C1 pins to AF4* @arg GPIO_AF_I2C2: Connect I2C2 pins to AF4* @arg GPIO_AF_I2C3: Connect I2C3 pins to AF4* @arg GPIO_AF_SPI1: Connect SPI1 pins to AF5* @arg GPIO_AF_SPI2: Connect SPI2/I2S2 pins to AF5* @arg GPIO_AF_SPI3: Connect SPI3/I2S3 pins to AF6* @arg GPIO_AF_I2S3ext: Connect I2S3ext pins to AF7* @arg GPIO_AF_USART1: Connect USART1 pins to AF7* @arg GPIO_AF_USART2: Connect USART2 pins to AF7* @arg GPIO_AF_USART3: Connect USART3 pins to AF7* @arg GPIO_AF_UART4: Connect UART4 pins to AF8* @arg GPIO_AF_UART5: Connect UART5 pins to AF8* @arg GPIO_AF_USART6: Connect USART6 pins to AF8* @arg GPIO_AF_CAN1: Connect CAN1 pins to AF9* @arg GPIO_AF_CAN2: Connect CAN2 pins to AF9* @arg GPIO_AF_TIM12: Connect TIM12 pins to AF9* @arg GPIO_AF_TIM13: Connect TIM13 pins to AF9* @arg GPIO_AF_TIM14: Connect TIM14 pins to AF9* @arg GPIO_AF_OTG_FS: Connect OTG_FS pins to AF10* @arg GPIO_AF_OTG_HS: Connect OTG_HS pins to AF10* @arg GPIO_AF_ETH: Connect ETHERNET pins to AF11* @arg GPIO_AF_FSMC: Connect FSMC pins to AF12* @arg GPIO_AF_OTG_HS_FS: Connect OTG HS (configured in FS) pins to AF12* @arg GPIO_AF_SDIO: Connect SDIO pins to AF12* @arg GPIO_AF_DCMI: Connect DCMI pins to AF13* @arg GPIO_AF_EVENTOUT: Connect EVENTOUT pins to AF155.使用GPIO_ReadInputData(GPIO_TypeDef* GPIOx)和GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)读输入信号6.使用GPIO_SetBits()/GPIO_ResetBits()设置输出引脚7.上电或复位后,引脚备用功能都没启用(JTAG引脚除外),为悬浮输入状态8LSE引脚OSC32_IN 和OSC32_OUT(PC14 and PC15)的优先级高于GPIO9.HSE引脚OSC_IN/OSC_OUT (PH0 / PH1)的优先级高于GPIO(高速外部时钟信号HSE(High Speed External Clock signal)相应的还有HSI(High Speed Internal Clock signal)、LSE(Low..)、LSI(Low..)。

STM32开发板例程讲解之二:GPIO的描述和配置,GPIOIOTG例程精讲ch...

STM32开发板例程讲解之二:GPIO的描述和配置,GPIOIOTG例程精讲ch...
(二)专门的寄存器(GPIOx_BSRR 和GPIOx_BRR) 实现对GPIO 口的原子操作,即回避了设置或清除I/O端口时的“读-修改-写”操作,使得设置或清 除I/O端口的操作不会被中断处理打断而造成误动作。 (三)每个GPIO 口都可以作为外部中断的输入,便于系统灵活设计。 (四)I/O口的输出模式下,有3种输出速度可选(2MHz 、10MHz 和50MHz) ,这有利于噪声控制。 (五)所有I/O口兼容CMOS和TTL,多数I/O口兼容5V电平。 (六)大电流驱动能力:GPIO 口在高低电平分别为0.4V和VDD-0.4V时,可以提供或吸收8mA电流;如果把输入输出电平分别放宽到1.3V和VDD1.3V时,可以提供或吸收20mA电流。 (七)具有独立的唤醒I/O口。 (八)很多I/O口的复用功能可以重新映射。 (九)GPIO口的配置具有上锁功能,当配置好GPIO口后,可以通过程序锁住配置组合,直到下次芯片复位才能解锁。此功能非常有利于在程序跑飞的 情况下保护系统中其他的设备,不会因为某些I/O口的配置被改变而损坏——如一个输入口变成输出口并输出电流。
#if 0 // 配置所有未使用GPIO引脚为输入模式(浮空输入),这样可以降低功耗,并且提高器件的抗EMI/EMC 的性能
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE, ENABLE);
//armfly :注释掉的原因是当代码在外部存储器运行时,GPIOD,E,F,G部分IO用于FSMC,因此对这些IO不能重置,否则导致取指异常 // GPIO_Init(GPIOD, &GPIO_InitStructure); // GPIO_Init(GPIOE, &GPIO_InitStructure); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB |

一文看懂stm32的引脚的两种用途:GPIO和AFIO

一文看懂stm32的引脚的两种用途:GPIO和AFIO

一文看懂stm32的引脚的两种用途:GPIO和AFIOstm32的引脚有两种用途:GPIO(generalpurposeio)和AFIO (alternatefuncTIonio)对于一些引脚(视芯片而定),这两种用途都没有,如在64脚产品中,OSC_IN/OSC_OUT 与作为GPIO端口的PD0/PD1共用一样的引脚,而在100、144引脚产品中,这四个功能各有引脚与之对应,不互相冲突,所以OSC_IN/OSC_OUT既不作GPIO也不作AFIO,当然,这样的引脚不是讨论重点。

1、引脚的配置不论是作GPIO还是做AFIO,都要对引脚进行配置。

在固件库函数中,用GPIO_Init()函数对引脚进行配置,并不是说这个函数带了GPIO字样就是要当做GPIO来用,而是把它纳入GPIO的范畴来讨论。

所谓配置,就是引脚上的片上资源连接方式,如上拉电阻、密特触发等等。

理解了配置,也就能明白配置与模式的区别。

特别得,在下文中将会专门讨论一下输出配置中的推挽与开漏。

2、复用功能复用功能有两种:没有重映像、重映像(包括部分重映像、完全重映像),使用引脚用作AFIO功能,同样需要对其进行配置。

这三句话来自参考手册,但我对第一句和注意有疑问,第三节讲。

如果把端口配置成复用输出功能,则引脚和输出寄存器断开,并和片上外设的输出信号连接。

输入配置则与GPIO 没有区别。

为什么输出模式有专门的复用模式而输入则没有呢。

因为输出是由芯片内部电路驱动的,必须选择这个驱动来自哪一个外设,是GPIO还是复用此管脚的其他外设,也就是选择该管脚在内部是与哪个外设相连的,不说明这个就会发生信号的错乱。

而输入则不同了,输入信号是由芯片外的信号驱动的,虽然该信号进入芯片内部后可能有不同的去向,但不需。

GPIO常用配置

GPIO常用配置

GPIO常用配置(MCU:STM32F103C8T6,固件库:):AD:= GPIO_Pin_4;//AD配置为模拟输入= GPIO_Mode_AIN;GPIO_Init(GPIOC, &GPIO_InitStructure);CAN:/* Configure CAN pin: RX */= GPIO_Pin_11;//接收脚配置为上拉输入= GPIO_Mode_IPU;GPIO_Init(GPIOA, &GPIO_InitStructure);/* Configure CAN pin: TX */= GPIO_Pin_12;//发送脚配置为复用推拉输出= GPIO_Mode_AF_PP;GPIO_Init(GPIOA, &GPIO_InitStructure);EXTI:/* Configure as input floating (EXTI Line 9) */= GPIO_Pin_9;//作为外部中断时配置为浮空输入= GPIO_Mode_IN_FLOATING;GPIO_Init(GPIOB, &GPIO_InitStructure);I2C:/* Configure I2C1 pins: SCL and SDA ----------------------------------------*/ = GPIO_Pin_6 | GPIO_Pin_7;= GPIO_Speed_50MHz;//SCL和SDA都配置为复用开漏输出= GPIO_Mode_AF_OD;GPIO_Init(GPIOB, &GPIO_InitStructure);SPI:/* Configure SPI1 pins: SCK, MISO and MOSI ---------------------------------*/ = GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7;= GPIO_Speed_50MHz;//配置为复用推拉输出= GPIO_Mode_AF_PP;GPIO_Init(GPIOA, &GPIO_InitStructure);USART:/* Configure USART2 RTS and USART2 Tx as alternate function push-pull */= GPIO_Pin_4 | GPIO_Pin_5;= GPIO_Speed_50MHz;//发送脚配置为推拉输出= GPIO_Mode_AF_PP;GPIO_Init(GPIOD, &GPIO_InitStructure);/* Configure USART2 CTS and USART2 Rx as input floating */= GPIO_Pin_3 | GPIO_Pin_6;//接收脚配置为浮空输入= GPIO_Mode_IN_FLOATING;GPIO_Init(GPIOD, &GPIO_InitStructure);总结:普通IO口作为输入时配置为浮空输入(GPIO_Mode_IN_FLOATING),作为输出如果不需要从本口获取数据时配置为推拉输出(GPIO_Mode_Out_PP),需要读取数据时配置为开漏输出(GPIO_Mode_Out_OD)。

usart1中断方式

usart1中断方式
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 | RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOD
| RCC_APB2Periph_AFIO, ENABLE);
在此说明,不用设置RCC_APB2Periph_AFIO也是可以的,也就是在此没有使用复用功能。
if(RxCounter == NbrOfDataToRead)
{
/* Disable the USART Receive interrupt */
USART_ITConfig(USART1, USART_IT_RXNE, DISABLE);
}
}
}
}
至此程序就结束了。
我们就会有个疑问,main()只包括前三个步骤的初始化和一个死循环,那么中断又是如何触发的呢,main()的结构如下:
int main(void)
{
/* System Clocks Configuration */
RCC_Configuration();
{
/* Write one byte to the transmit data register */
USART_SendData(USART1, TxBuffer[TxCounter++]);
if(TxCounter == NbrOfDataToTransfer)
}
if(USART_GetITStatus(USART1, USART_IT_TXE) != RESET)
{
/* Write one byte to the transmit data register */

stm32f3 标准库函数说明

stm32f3 标准库函数说明

一、STM32F3标准库简介STM32F3是STM32系列微控制器的一款产品,它采用Cortex-M4内核,具有丰富的外设和功能。

STM32F3标准库是由STMicroelectronics官方提供的一套用于开发STM32F3系列微控制器的函数库,它包含了丰富的函数和例程,能够为开发者提供方便快捷的开发支持。

二、STM32F3标准库函数分类1. GPIO函数GPIO函数是用于对STM32F3微控制器的GPIO端口进行操作的函数集合,包括对GPIO端口的初始化、输入输出设置、读取状态等功能。

2. 定时器函数定时器函数是用于对STM32F3微控制器的定时器进行操作的函数集合,包括定时器的初始化、启动、停止、中断处理等功能。

3. 中断函数中断函数是用于对STM32F3微控制器的中断进行操作的函数集合,包括中断的使能、优先级设置、中断向量表的编写等功能。

4. 串口函数串口函数是用于对STM32F3微控制器的串口进行操作的函数集合,包括串口的初始化、发送数据、接收数据、中断处理等功能。

5. ADC/DAC函数ADC/DAC函数是用于对STM32F3微控制器的模数转换器和数模转换器进行操作的函数集合,包括ADC/DAC的初始化、转换启动、中断处理、数据处理等功能。

6. 外设驱动函数外设驱动函数是用于对STM32F3微控制器的外设进行操作的函数集合,包括I2C、SPI、USB、CAN等外设的初始化、数据传输、中断处理等功能。

三、STM32F3标准库函数使用示例以下是一些STM32F3标准库函数的使用示例,供开发者参考:1. GPIO函数示例:```c#include "stm32f3xx.h"int main(){GPIO_InitTypeDef GPIO_InitStructure;RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;GPIO_Init(GPIOA, GPIO_InitStructure);while(1){GPIO_SetBits(GPIOA, GPIO_Pin_0);//延时一段时间GPIO_ResetBits(GPIOA, GPIO_Pin_0);//延时一段时间}}```2. 定时器函数示例:```c#include "stm32f3xx.h"int main(){TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE); TIM_TimeBaseStructure.TIM_Prescaler= 7200 - 1;TIM_TimeBaseStructure.TIM_Period= 10000 - 1;TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up;TIM_TimeBaseInit(TIM2, TIM_TimeBaseStructure);TIM_Cmd(TIM2, ENABLE);while(1){if(TIM_GetFlagStatus(TIM2, TIM_FLAG_Update)!= RESET) {//定时器计数器达到设定值时执行的操作TIM_ClearFlag(TIM2, TIM_FLAG_Update);}}```四、总结STM32F3标准库函数是用于开发STM32F3微控制器的重要工具,通过学习和掌握标准库函数的使用方法,开发者可以更加高效地进行STM32F3系列微控制器的开发工作。

GPIO原理与配置(跑马灯,蜂鸣器,按键)

GPIO原理与配置(跑马灯,蜂鸣器,按键)

GPIO原理与配置(跑马灯,蜂鸣器,按键) ⼀。

STM32 GPIO固件库函数配置⽅法 1. 根据需要在项⽬中删掉⼀些不⽤的固件库⽂件,保留有⽤的固件库⽂件 2. 在stm32f10x_conf.h中注释掉这些不⽤的头⽂件 3. STM32的IO⼝可以由软件配置成如下8种模式(4种输⼊模式,4种输出模式) 分别在CRL寄存器和CRH寄存器中配置,配置每⼀个IO⼝需要4位来配置 2位MODE位----配置是输⼊模式还是输出模式 2位CNF位---根据MODE位的配置来确定是哪种输⼊模式或输出模式 a。

输⼊浮空 b。

输⼊上拉 c。

输⼊下拉 d。

模拟输⼊ e。

开漏输出 f。

推挽输出 g。

推挽式复⽤功能 h。

开漏复⽤功能 配置函数 void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct); 4。

GPIO输⼊值的读取 IDR是⼀个端⼝输⼊数据寄存器,只⽤了低16位。

操作IDR寄存器读取IO端⼝数据是通过GPIO_ReadInputDataBit函数实现的: uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); ⽐如我要读 GPIOA.5 的电平状态,那么⽅法是: GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_5); uint16_t GPIO_ReadInputData(GPIO_TypeDef* GPIOx); 5. 往某个IO⼝输出数据 ODR 是⼀个端⼝输出数据寄存器,也只⽤了低 16 位。

该寄存器为可读写,从该寄存器读出来的数据可以⽤于判断当前 IO ⼝的输出状态。

⽽向该寄存器写数据,则可以控制某个 IO ⼝的输出电平。

在固件库中设置 ODR 寄存器的值来控制 IO ⼝的输出状态是通过函数 GPIO_Write 来实现的: void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal); 该函数⼀般⽤来往⼀次性⼀个 GPIO 的多个端⼝设值。

GPIOx端口 编程步骤

GPIOx端口 编程步骤

GPIOx端口编程步骤:第一部分配置GPIOx端口步骤一加入以下头文件:#include "stm32f10x_lib.h"//若使用RCC_Configuration( ); 使能GPIO外设对应的时钟,还必须加入以下头文件。

//若使用具体的使能外设命令(例如,RCC_APB2PeriphClockCmd( )等),则不需要加入以下命令。

#include "HelloRobot.h"步骤二定义结构体变量GPIO_InitStructure,用于初始化GPIOx端口的参数: GPIO_InitTypeDef GPIO_InitStructure;步骤三使能GPIO外设对应的时钟:RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIO B|RCC_APB2Periph_GPIO E,ENABLE);详细说明见:“在使用GPIO端口时,首先要使能该外设对应的时钟.doc”或RCC_Configuration( );/* Configure the system clocks */步骤四定义GPIO管脚、响应速度、工作模式,即定义GPIO端口的初始化参数(通过为结构体变量GPIO_InitStructure 的成员赋值实现):/* LED1 -> PB8 , LED2 -> PB9 , LED3 -> PE0 , LED4 -> PE1 */GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 |GPIO_Pin_9;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_Init(GPIOB, &GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 |GPIO_Pin_1;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_Init(GPIOE, &GPIO_InitStructure);/*我们在GPIO_Pin 成员这里赋值GPIO_Pin_0 | GPIO_Pin_1,GPIO_Pin_8 |GPIO_Pin_9。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

↓↓
编辑 删除
广告投诉、提议置酷等 提交
↑↑ 快速回复帖子主题:GPIO_InitStructure是函数还是结构体变量啊。【恢复】
你尚未登录,不能回复以上帖子。
论坛首页 -> 其它Cortex-M 3技术讨论区(ST除外) -
跳转至:
未登
> GPIO_InitStructure是函数还是结构体变量啊。 ║├其它Cortex-M3技术讨论区(ST除外)
2008-09-28,15:4 资料 邮件 回复 引用回复 ↑↑
编辑 删除 广告投诉、提议置酷等
5:03
↓↓
【1楼】 ATmega 16 积分:66 派别: 等级:-----来自:
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_Init T y p eDef是结构体类型,GPIO_Init St ruct ure是结构体变量
类似 int i; int是类型,i是变量。
提交
本贴被 ATmega16 编辑过,最后修改时间:2008-09-28,15:54:52.
__________________________ 该死的ST,还不赶快出STM 8L小FLASH片子
2008-09-28,15:5 资料 邮件 回复 引用回复 ↑↑

【恢复】 (属于论坛:Corte来自M 3)↓↓ GPIO_InitStructure是函数还是结构体变量啊。【恢复】
回复数:5,点击数: 1578
【楼主位】 gong 如果是结构体变量的话那以下可不可以这样用 csf BH7JRE
积分:914 派别: 等级:-----来自:湖南--现 东莞市
GPIO_InitTypeDef GPIO_InitStructure; //定义GPIO初始化结构体 GPIO_PinRemapConfig(GPIO_Remap_USART2, ENABLE);//使能GPIO端口映射USART2 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4 | GPIO_Pin_5;//选择PIN4 PIN5 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50M Hz; //引脚频率50M GPIO_InitStructure.GPIO_M ode = GPIO_M ode_AF_PP;//引脚设置推拉输出 GPIO_Init(GPIOD, &GPIO_InitStructure);//初始化GPIOD
4:35
↓↓
编辑 删除
广告投诉、提议置酷等 提交
【2楼】 1224029 呵呵 和你一样的问题 我也也不是很清楚 还是得看下结构体变量了
02
积分:267
派别:
等级:------
来自:
2010-07-10,12:4 资料 邮件 回复 引用回复 ↑↑
3:59
↓↓
编辑 删除
广告投诉、提议置酷等 提交
【3楼】 laoniu85 积分:52 派别: 等级:-----来自:
法律顾问:顾 问本。网站尊重知识产权,自2007年08月15日起,魏龙律师担任(原)常年法律
中国电子开发网() 粤ICP备09047143号
GPIO_InitTypeDef 是结构体类型 用typedef定义的 看头文件啊
2010-07-12,20:2 资料 邮件 回复 引用回复 ↑↑
3:48
↓↓
编辑 删除
广告投诉、提议置酷等 提交
【4楼】 xiepeilin 积分:53 派别: 等级:-----来自:
st m32f10x_gp io.h头文件里有如下定义:
typedef struct
{
uint16_t GPIO_Pin;
/*!< Specifies the GPIO pins to be configured.
This parameter can be any value of @ref GPIO_pins_define */
GPIOSpeed_TypeDef GPIO_Speed; /*!< Specifies the speed for the selected pins. This parameter can be a value of @ref GPIOSpeed_TypeDef */
GPIOM ode_TypeDef GPIO_M ode; /*!< Specifies the operating mode for the selected pins. This parameter can be a value of @ref GPIOM ode_TypeDef */
}GPIO_Init T y p eDef;
这个注解掉//GPIO_InitTypeDef GPIO_InitStructure; //定义GPIO初始化结构体 GPIO_PinRemapConfig(GPIO_Remap_USART2, ENABLE);//使能GPIO端口映射USART2 GPIO_InitTypeDef.GPIO_Pin = GPIO_Pin_4 | GPIO_Pin_5;//选择PIN4 PIN5 GPIO_InitTypeDef.GPIO_Speed = GPIO_Speed_50M Hz; //引脚频率50M GPIO_InitTypeDef.GPIO_M ode = GPIO_M ode_AF_PP;//引脚设置推拉输出 GPIO_Init(GPIOD, &GPIO_InitStructure);//初始化GPIOD

【恢复】 (属于论坛:CortexM 3)
中国电子开发网(),友好交流气氛,乐于开源共享,“这里远比混乱的现实世界美好”。
网站负责人: our阿de莫v.(canr(m请o将k,莫空进格明改)成,@13)433056000(仅限于投诉。技术咨询请发帖交流),电邮:armok 东莞市东城区东城中路南81号辉煌商务大厦3F-B01(赛格电子市场对面), 电话0769-22298000, 传真0769-22316808
地址与电话:诉 :阿13莫43邮30购56快00递0阿收莫件人:王小姐 13711915767,订单咨询:13711915767王小姐,订单投 雕刻机的技术咨询、订单查询、生产进度,可查询:13600266008吴先生(雕刻机设计人员 kaif_w) 本网站由阿莫电子邮购部提供独家赞助。 有正式的工商注册与网站备案。详情可到东莞工商局查询。
声明:合 电本子网网站(站ou(rD中EV国.c电n)子原开名发称网为)ou。(我们的AVR),自2007-09-01起从专业的AVR网转成综 本网站系统由armok Using Oracle + Java/JSP + WebLogic + Linux 2001/12/20 -- 2011/06/02 本BBS所有代码均为原创,版权归 armok 所有。本网站自:2004-10-03,16:31:17 起开始运行。
另外下面这条是什么意思呢。 GPIO_InitTypeDef GPIO_InitStructure; //定义GPIO初始化结构体
是用GPIO_Init St ruct ure代替GPIO_Init T y p eDef 还是怎么。 我不明白 GPIO_InitTypeDef GPIO_InitStructure; 是什么语句。起什么做用。 把两个结构体放一起有什么意义。 谢谢
雕刻机,中国电子开发网,阿莫电子,阿莫论坛,莫进明,,AVR,STM 32
你尚未登录 |登录 |快速注册 首页 酷贴 搜索 在线 个人功能 |退出
本网站由阿莫电子邮购独家赞 助
论坛首页 -> 其它Cortex-M 3技术讨论区(ST除外) -
跳转至:
未登
> GPIO_InitStructure是函数还是结构体变量啊。 ║├其它Cortex-M3技术讨论区(ST除外)
2010-08-11,10:5 资料 邮件 回复 引用回复 ↑↑
1:01
↓↓
编辑 删除
广告投诉、提议置酷等 提交
【5楼】 xfloveyo 曾经也在这个问题上纠结过半天……
u886
积分:251
派别:
等级:------
来自:GX
2010-08-13,20:2 资料 邮件 回复 引用回复 ↑↑
2:48
相关文档
最新文档