|
在PC9口接了一个人体红外感应模块(输出电压为5v)(当检测到有人的时候人体感应红外模块输出高电平,没人的时候输出低电平), 我把PC9口设为输入状态(上下拉输入都试过了) ,为什么我在PC9口检测不到高电平 一直都是低电平,当检测到PC9口为高电平的时候 点亮一个灯,灯一直不亮
人体红外模块在不接开发板的情况下,我接了一个led灯 通电之后 led灯可以亮。
/*******main.c**************/
void human_hongwai()
{
i f(PC9==1) //检测PC9口是否为高电平
{
LED1=1; //灯亮
delay_ms(100);
}
else
{
LED1=0;
delay_ms(100);
}
/*
if(GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_9)==1)
{
LED1=1;
delay_ms(100);
}
else
{
LED1=0;
delay_ms(100);
}
*/
}
int main()
{
KEY_Init(); //接人体红外感应模块的PC9 IO 设置
while(1)
{
human_hongwai(); //人体红外
}
}
/**************key.c*****************/
void KEY_Init(void) //IO初始化
{
GPIO_InitTypeDef GPIO_InitStructure;
///////人体红外的东西///////////
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
GPIO_InitStructure.GPIO_Pin =GPIO_Pin_9;
GPIO_InitStructure.GPIO_Mode =GPIO_Mode_IPD; //设置下拉输入
GPIO_Init(GPIOC, &GPIO_InitStructure);
} |