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);//燈熄滅
}
最出的時候還能對這人的時候一閃一閃的,對這人就熄滅,感覺測量時間有延遲,后來就凝了紅外熱釋傳感器上的兩個旋鈕,結果不對著人就一直亮著,即上電就亮,明明在初始化里就讓燈熄滅的
|