void LED_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //使能
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);//1رÕjtag£¬ê1ÄüSWD£¬¿éòÔóÃSWDÄ£ê½μ÷êÔ
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; //
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO¿úËù¶èÎa50MHz
GPIO_Init(GPIOA, &GPIO_InitStructure); //¸ù¾Yé趨2Îêy3õê¼»ˉGPIOA.8
GPIO_SetBits(GPIOA,GPIO_Pin_8); //PA.8 êä3ö¸ß
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //上拉输入
GPIO_Init(GPIOA, &GPIO_InitStructure);
}
#include "led.h"
#include "delay.h"
#include "sys.h"
int main(void)
{
delay_init(); //Ñóê±oˉêy3õê¼»ˉ
LED_Init(); //3õê¼»ˉóëLEDᬽóμÄó2¼t½ó¿ú
while(1)
{
if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_15)==1)检测到人
GPIO_ResetBits(GPIOA,GPIO_Pin_8);//灯亮
else
GPIO_SetBits(GPIOA,GPIO_Pin_8);//灯熄灭
}
最出的时候还能对这人的时候一闪一闪的,对这人就熄灭,感觉测量时间有延迟,后来就凝了红外热释传感器上的两个旋钮,结果不对着人就一直亮着,即上电就亮,明明在初始化里就让灯熄灭的
|