检测IO口的状态,用GPIO_ReadInputDataBit这个函数,但是功能实现不了,求助

2019-08-22 13:11发布

#define onoff110  GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_0)

void onoff1_Init(void)
{
GPIO_InitTypeDef  GPIO_InitStructure;
  
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);  //使能PB,PE端口时钟
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;     //PB0端口配置
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;    //上拉
GPIO_Init(GPIOB, &GPIO_InitStructure);     
}


main:
   BEEP_Init();          //初始化蜂鸣器端口
   onoff1_Init();       //初始化PB0
  if(onoff110==0)
  GPIO_ResetBits(GPIOB,GPIO_Pin_8);
  else if(onoff110!=0)
  GPIO_SetBits(GPIOB,GPIO_Pin_8);


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
a1213
1楼-- · 2019-08-22 15:47
解决了,GPIO_ResetBits(),用这个函数把输出弄成0.就ok了
a1213
2楼-- · 2019-08-22 18:57
我是直接给这个引脚供电,接3.3v,要是接上了,说明是通路,没接的话,就是断路,蜂鸣器响,但是现在蜂鸣器完全不受控制
a1213
3楼-- · 2019-08-22 20:36
我用万用表测了一下,发现这个io口本身的电压有三点多v,是不是这样就解释了蜂鸣器不收我控制,但是怎么能让他本来的电平变成0呢?
bg6qbt
4楼-- · 2019-08-22 23:10
是这样的

一周热门 更多>