
本帖最后由 jacobfeng 于 2015-6-17 15:40 编辑 1.HC-SR501资料自行搜索* `: _- p( q4 m/ \" v& v7 h q v9 B 2.HC-SR501工作电压为5V~20V。此处用5V电源供电。输出数字管脚电平为(3.3V高电平,0V低电平。),因此可以直接连接stm32的IO。5 y5 I8 \, b7 A: d 3.检查到有人 HC-SR501输出高电平,否则低电平。 4.程序: 9 @# Y T& G* s" U2 K 4.1 设置stm32的IO管脚输入下拉。 4.2 读取io管脚的电平 ; v0 A$ ]0 F0 ? C2 P7 _( c while(1) { 1 S: ~7 ?( i, E) X& C if(GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_2)) { bsp_systick_delay_us(500*1000);. \9 m( }, b C+ y1 y if(GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_2)) { - c# O2 i2 z) e* ?. `* P S bsp_systick_delay_us(50*1000); bsp_led_ctrl(BSP_LED0, 1); bsp_led_ctrl(BSP_LED1, 1);# z) @1 L' W, v# U bsp_systick_delay_us(500*1000); bsp_led_ctrl(BSP_LED0, 0); bsp_led_ctrl(BSP_LED1, 0);1 w5 C5 V% a0 X) D4 Z/ K , i! [' L: L+ | l! q6 F } & H4 e7 z f( `9 E3 A6 ~% ? } else E0 D. G. R' ^: g( h { bsp_led_ctrl(BSP_LED0, 1); bsp_led_ctrl(BSP_LED1, 1); } bsp_systick_delay_us(500*100); } 7 P/ `- S* R2 B+ z0 n/ D j7 p R0 O/ [* e8 R! e9 o |
是的,本例只是测试用用。