你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32 关于GPIO的问题集锦

[复制链接]
zengwh 发布时间:2012-5-8 10:43
1、关于GPIO
问:STM32IO口初始化为输入浮空,那管脚是高电平还是低电平呢?
答:既不是高电平也不是低电平,悬空的意思是没有使用的状态。
2、有关stm32f103 端口复用的问题?
问:在学习GPIO时,遇到到端口复用问题一直不能明白,我举个例子:
PB6 PB7默认情况下是做普通IO使用的,当我想用I2C1是,我开启RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C1,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOBENABLE);
当我要使用I2C1的重定义时,我要打开,
RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C1,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOBENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIOENABLE);
这样理解对不对?

有的人说当用的芯片自带的外设时都要打开 AFIO 时钟,但我用到usart1时没有打开AFIO 时钟,照样能用usart,这是为什么?
总之问这个问题的根本原因是AFIO的时钟要在什么情况下打开?

答:1、串口必须要打开AFIO时钟,不然不能工作。可能你的初始化函数、RCC配置中有开启的地方。 2AFIO在你需要使用某一模块时,比如你想使用GPIOC,这个时候要打开GPIOC模块的时钟。 3、关闭I2C而不是关闭I2C模块的总线,如果你想使用普通模式,就要把I2C模块关闭以后,重新配置GPIOB模块,就可以正常使用了。

3、AFIO重映射的操作步骤是什么?
答:使能被重新映射到的I/O端口时钟使能被重新映射的外设时钟使能AFIO功能的时钟 (勿忘!) 进行重映射


4、配置IO口的频率问题

配置IO口的频率时,为什么只给一个IO口配置?
GPIO_InitStructure.GPIO_Speed 这个结构体的成员始终为GPIO_Speed_50MHz 配置其他io口时也默认用50MHz 。



5、请问怎样开始STM32W108CBU64芯片的PB5引脚外设输入中断?

问:有没有这么一个例程,有开启外设中断和中断函数的?
最佳答案:看了下datasheet,PB5复用的功能为PB5, ADC0, TIM2CLK, TIM1MSK,相关的中断应该有,就看你配置为什么外设了。


6、STM32F101 Tamper Pin 使用问题

问:请教各位大虾:STM32F101 BKP当中的Tamper Pin该如何初始化!?
答:当TPAL=0时:如果在启动侵入检测TAMPER引脚前(通过设置TPE位)该引脚已经为高电平,一旦启动侵入检测功能,则会产生一个额外的侵入事件(尽管在TPE位置’1’后并没有出现上升沿)。 ● 当TPAL=1时:如果在启动侵入检测引脚TAMPER前(通过设置TPE位)该引脚已经为低电平,一旦启动侵入检测功能,则会产生一个额外的侵入事件(尽管在TPE位置’1’后并没有出现下降沿)。 设置BKP_CSR寄存器的TPIE位为’1’,当检测到侵入事件时就会产生一个中断。 详见:BKP_CSR

7、有关stm32f103 端口复用的问题?
问:在学习GPIO时,遇到到端口复用问题一直不能明白,我举个例子:
PB6 PB7默认情况下是做普通IO使用的,当我想用I2C1是,我开启RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C1,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
当我要使用I2C1的重定义时,我要打开,
RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C1,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);
这样理解对不对?
有的人说当用的芯片自带的外设时都要打开 AFIO 时钟,但我用到usart1时没有打开AFIO 时钟,照样能用usart,这是为什么?
总之问这个问题的根本原因是AFIO的时钟要在什么情况下打开?

答:1、串口必须要打开AFIO时钟,不然不能工作。可能你的初始化函数、RCC配置中有开启的地方。 2、AFIO在你需要使用某一模块时,比如你想使用GPIOC,这个时候要打开GPIOC模块的时钟。 3、关闭I2C而不是关闭I2C模块的总线,如果你想使用普通模式,就要把I2C模块关闭以后,重新配置GPIOB模块,就可以正常使用了。
7、STM32里面,设置GPIO_Mode_IPU 有什么用
问:中断的配置里面有:GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, GPIO_PinSource8);                                    GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, GPIO_PinSource9);
GPIO口设置里面有:        GPIO_InitStructure.GPIO_Pin   = GPIO_Pin_8 | GPIO_Pin_9;
                                GPIO_InitStructure.GPIO_Mode  = GPIO_Mode_IPU;
                                GPIO_Init(GPIOB, &GPIO_InitStructure);
我想问的是,这两组设置必须同时存在吗?
答:GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, GPIO_PinSource8);         
      GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, GPIO_PinSource9);
STM32中这两句话的意思是PB口的8、9管脚作为外部中断的触发信号,所以Pin_8和Pin_9就要设置成输入的模式,而GPIO_InitStructure.GPIO_Mode  = GPIO_Mode_IPU;中IPU是指IO口的工作模式是带上拉输入,这个和具体的电路有关,总之如果选择某个IO口作为外部中断的触发信号,就必须配置这个IO口为输入模式,不然无法触发中断

8、stm32中GPIO口的最大输出速度如何理解?
问:stm32中GPIO口的最大输出速度如何理解?
答:1、是这样的,2M、10M和50M是指GPIO口的采样频率。不知这样理解对不对,我就是这样做的。
         2、我通过PB6采集80KBPS/S的方波,通过中断计采集,完全胜任。
9、STM32 GPIO 弱上拉能做输入输出吗
问:STM32 GPIO 弱上拉能做输入输出吗?
答:32只有上拉输入,用在外部连接的是下路输出的,这样才能正确读取。输出的话一般用推挽和开漏,推挽用于一般的驱动,开漏一般加上拉电阻像三极管集电极那样驱动较大电流。
10、STM32语句:GPIO->ODR^=0X02 是怎么执行的?实现什么功能?
问:是GPIO端口的数据存在ODR寄存器,该数据与0x02异或再存在ODR中吗?
答:ODR是stm32的IO端口输出数据寄存器,该寄存器31-16位始终读为0,15-0位输出数据。GPIO->ODR^=0X02 是输出数据与0x02异或,即输出数据的第二位如果与1相同,该位置0,反之出1,因此实现取反,输出数据保存在ODR,每执行一次输出数据的第二位取反一次。
10、GPIO配置速度
问:stm32中的GPIO如果设置成了输入模式,还需要配置GPIO_Speed么?
答:输入模式可以不用配置速度,但是输出模式必须确定最大输出频率。
11、stm32 GPIO输入电平检测
问:GPIO两个引脚,模式都初始化为输入弱上拉,给其中一个引脚接4.7V的电压,IDR对应的值为1;给另一个引脚接5.13V的电压,IDR对应的值却为0;
答:检查一下是否使能了相应GPIO的时钟,是否有这样一句RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOx,ENABLE);有它就使能了,否则读出的值不可预测。
12、关于STM32中GPIO寄存器IDR和ODR数据
问:STM32中GPIO寄存器IDR和ODR数据是不是同步的?为什么我用GPIO_SetBits函数设置管脚的时候,IDR和ODR同时改变,怎么使得只改变ODR的数据,而不改变IDR的数据?谢谢!
答:IDR寄存器的数据时实时反映IO口的状态,当然设置ODR,IO的状态也跟着改变,除非强制人为地设置。比如,ODR设置为1,而强制将对应的IO口接地,这时IDR就和ODR不一致;或者将ODR设置0,而强制降对应IO口接VCC,这时也不一致。
13、用STM32,有六个GPIO口(不在同一组)要相同信号输出,请问怎么设置?
问:例如GPIOE的pin10重映射到TIM1,设置好TIM1的PWM信号输出;其他的IO口如GPIOA的pin5、GPIOA的pin6、GPIOB的pin5、GPIOB的pin6、GPIOC的pin5也要输出与GPIOE的pin10相同的信号,请问大侠怎么设置?
答:用定时器中断吧,把PWM的脉宽配置成定时中断,把GPIO引脚都配置好,相应时钟都使能,然后到定时器中断函数中做相同的处理。
14、关于GPIO_WriteBit与GPIO_SetBits
问:GPIO_WriteBit与GPIO_SetBits有什么区别
答:可以用man命令查看区别
man ioctl :
NAME
       ioctl - control device
man write :
NAME
       write - write to a file descriptor
15、关于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),括号里后面那个就是你问题里面声明的那个结构体。
16、关于 STM32的IO口能不能像51的IO口那样直接控制Px口输出
问:大家好,STM32的IO口能不能像51的IO口那样直接控制Px口输出?比如我要用51控制器段数码管,只要给Px口送十六进制数值就可以了?请问STM32可以吗?
答:可以的,举2个例子:GPIO0->BRR = 0x55;GPIO1->BSRR = 0x55;这其中的GPIOx表示IO号的号码,BRR/BSRR表示相就IO口的控制寄存器,就按这个格式操作就行了。
17、关于stm32芯片IO端口配置
问:stm32芯片 IO端口配置为浮空输入时,能不能读取端口上的电平状态。
答:STM32的输入状态寄存器GPIOx_IDR和输出状态寄存器和GPIOx_ODR的读取是不受端口配置影响的。

18、stm32 JTAG和普通IO复用问题

问:stm32 JTAG和普通IO复用,当软件设置为普通IO时,还能用JTAG下载软件吗。
答:能。因为在下载的时候,通过RESET时序进入了下载模式了。但是注意硬件的接法不要强制拉高拉低,也不要让其芯片的输出脚接过来。这样就会影响到jtag了。

收藏 5 评论20 发布时间:2012-5-8 10:43

举报

20个回答
对对-365652 回答时间:2012-6-23 13:03:15

RE:STM32 关于GPIO的问题集锦

好东西,谢谢了。
xiaoxuanfengwu 回答时间:2012-9-19 10:45:54

RE:STM32 关于GPIO的问题集锦

顶一下!GOOD
林子的海角 回答时间:2012-11-16 16:08:00

RE:STM32 关于GPIO的问题集锦

00
sxlong401 回答时间:2012-12-4 10:43:00

RE:STM32 关于GPIO的问题集锦

这个要看看
安电 回答时间:2012-12-19 14:29:52

RE:STM32 关于GPIO的问题集锦

你好,我想问一下GPIO能否配置成SPI接口,因为对我来说SPI接口不太够用啊
hnhdzzc 回答时间:2013-3-25 20:05:29

RE:STM32 关于GPIO的问题集锦

mark
Motorola-424122 回答时间:2013-3-31 21:01:52

回复:STM32 关于GPIO的问题集锦

真的很好
chendonghao55 回答时间:2013-12-7 19:28:19

RE:STM32 关于GPIO的问题集锦

Thank you .
李阿飞 回答时间:2013-12-20 13:53:25

RE:STM32 关于GPIO的问题集锦

顶一个,哈哈哈
123下一页

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

相似技术帖

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版