微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > STM32关于GPIO的问题

STM32关于GPIO的问题

时间:11-28 来源:互联网 点击:

ControlData[2*i ] = f2char[i]/16+(f2char[i]/16>

ControlData[2*i+1] = f2char[i]+(f2char[i]>

再存在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 deviceman write :NAME write - write to a file descriptor15、关于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了。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top