![]() |
你現在解決了嗎? 不應該是下拉輸入嗎? ![]() |
你如果是自己用模塊,應該有設置的地方,你如果自己用芯片,自己寫代碼,就在程序中設置,這個我之前用過!!!!!!!!! |
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);//燈熄滅 } 最出的時候還能對這人的時候一閃一閃的,對這人就熄滅,感覺測量時間有延遲,后來就凝了紅外熱釋傳感器上的兩個旋鈕,結果不對著人就一直亮著,即上電就亮,明明在初始化里就讓燈熄滅的 |
有個旋扭,調著調著就原有的功能都實現不了 |
admin 發表于 2018-6-1 19:33 有個延時調節,調著調著感覺紅外不能用了,代碼沒變,功能實現不了 |
模塊上面肯定有個旋鈕 |