STM32知识点:管脚GPIOB口输入问题!GPIOB口怎么实现输入功能?
我想利用GPIOB管脚PB6-PB13作为输入模式使用,怎么设置了与没有设置得的结果都是一样呀?RCC->APB2ENR|=1<<3;//使能PORTB时钟GPIOB->...
我想利用GPIOB管脚PB6-PB13作为输入模式使用,怎么设置了与没有设置得的结果都是一样呀?
RCC->APB2ENR |= 1 << 3; //使能PORTB时钟
GPIOB->CRL &= 0X00FFFFFF; //PB6-PB7设置为模拟输入模式
GPIOB->CRL |= 0X33000000;
GPIOB->CRH &= 0XFF000000; //PB8-PB13设置为模拟输入模式
GPIOB->CRH |= 0X00333333;
GPIOB->IDR |= 0X3FC;//设置PB6-PB13初始数据全为1
我用SN74HC245中的B端作为输出,向PB6-PB13依次发数据,得到的结果与什么也没有连接一样(悬空)!我在SN74HC245中B端用8个LED灯都验证过了,从8个管脚中输出来的数据,是我想要的!B0-B7分别接PB6-PB13,连接好了,通过控制LCD1602显示数据(该设备验证好了,绝对没问题);但是得到数据,与PB6-PB13悬空得到的数据一样的!求解答,小弟,初学者,谢谢了! 展开
RCC->APB2ENR |= 1 << 3; //使能PORTB时钟
GPIOB->CRL &= 0X00FFFFFF; //PB6-PB7设置为模拟输入模式
GPIOB->CRL |= 0X33000000;
GPIOB->CRH &= 0XFF000000; //PB8-PB13设置为模拟输入模式
GPIOB->CRH |= 0X00333333;
GPIOB->IDR |= 0X3FC;//设置PB6-PB13初始数据全为1
我用SN74HC245中的B端作为输出,向PB6-PB13依次发数据,得到的结果与什么也没有连接一样(悬空)!我在SN74HC245中B端用8个LED灯都验证过了,从8个管脚中输出来的数据,是我想要的!B0-B7分别接PB6-PB13,连接好了,通过控制LCD1602显示数据(该设备验证好了,绝对没问题);但是得到数据,与PB6-PB13悬空得到的数据一样的!求解答,小弟,初学者,谢谢了! 展开
若以下回答无法解决问题,邀请你更新回答
1个回答
展开全部
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;//PB6
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //设置成上拉输入
GPIO_Init(GPIOB, &GPIO_InitStructure);//初始化 GPIO
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;//PB6
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //设置成上拉输入
GPIO_Init(GPIOB, &GPIO_InitStructure);//初始化 GPIO
追问
我利用寄存器版本,也尝试了一下,上拉输入模式,结果一样的!
GPIOB->CRL &= 0X00FFFFFF; //PB6-PB7设置为上拉输入模式
GPIOB->CRL |= 0X88000000;
GPIOB->CRH &= 0XFF000000; //PB8-PB13设置为上拉输入模式
GPIOB->CRH |= 0X00888888;
但是我没有接电阻
追答
上拉输入模式, 在gpio内部有上啦电阻, 无需外接.
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询