完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
自己画了个最小系统板,调试的时候发现问题: 通过按键控制LED的亮灭,当设置为输入模式时,比如上拉输入(IPU)模式,却只能读取管脚的“1”状态来做判断,即可以通过这条语句if(GPIO_ReadInputDataBit(GPIOE, GPIO_Pin_0==1))来控制LED的亮灭;但是当读取管教的“0”状态来做判断时,即通过语句
if(GPIO_ReadInputDataBit(GPIOE, GPIO_Pin_0==0))来控制LED的亮灭,这个时候LED一直处于熄灭状态,也就是单片机一直默认管脚PE0处于“1”状态 尝试了很多方法一直找不到原因,本人接触STM32不久,对管脚设置不熟悉,不知道是不是那一块漏掉了没设置?有知道原因的朋友可以指导一下吗?谢谢啦! 下面是相关代码: #include "stm32f10x.h" #include "stm32f10x_rcc.h" #include "stm32f10x_gpio.h" void RCC_Configuraton(void); void GPIO_Configuration(void); int main(void) { RCC_Configuraton(); GPIO_Configuration(); while(1) { if(GPIO_ReadInputDataBit(GPIOE, GPIO_Pin_0==1))//问题出现在这条语句,当设置为if(GPIO_ReadInputDataBit(GPIOE, GPIO_Pin_0==0))时就会出现错误 { GPIO_ResetBits(GPIOA,GPIO_Pin_3);//点亮LED } else { GPIO_SetBits(GPIOA,GPIO_Pin_3);//熄灭LED } } } //时钟初始化函数 void RCC_Configuraton(void) { SystemInit();//系统时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//打开A路时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE,ENABLE);//打开E路时钟 } void GPIO_Configuration(void) { GPIO_InitTypeDef GPIO_Structure;//¶¨Òå¹Ü½Å½á¹¹Ìå //LED管脚 GPIO_Structure.GPIO_Pin=GPIO_Pin_3;//pin init GPIO_Structure.GPIO_Speed=GPIO_Speed_50MHz;//PIN SPEED GPIO_Structure.GPIO_Mode=GPIO_Mode_Out_OD;//ÍÆÍìÊä³ö GPIO_Init(GPIOA,&GPIO_Structure); //按键设置 GPIO_Structure.GPIO_Pin=GPIO_Pin_0;//pin init GPIO_Structure.GPIO_Speed=GPIO_Speed_50MHz;//PIN SPEED GPIO_Structure.GPIO_Mode=GPIO_Mode_IPU; GPIO_Init(GPIOE,&GPIO_Structure); } |
|
相关推荐
3个回答
|
|
缺少时钟使能呢
|
|
|
|
这里有两个问题,一个是输入引脚是否能正确读取引脚的状态,第二个是控制LED的引脚是否能正确控制LED。
可以分开调试,先测试LED控制,加一个循环延时,做出LED循环亮,灭的效果。LED控制正确了,再加入读取按键状态部分。 另外LED控制引脚是否应该用OD方式 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1129 浏览 0 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1075 浏览 2 评论
2175 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1269 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1693 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-26 09:24 , Processed in 1.098713 second(s), Total 81, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号