|
本帖最后由 jacobfeng 于 2015-6-17 15:40 编辑 0 h! t+ z! [: A 3 f' ]! d( i" b6 O& p5 [" C 1.HC-SR501资料自行搜索# \3 _ A. B* f% } 2.HC-SR501工作电压为5V~20V。此处用5V电源供电。输出数字管脚电平为(3.3V高电平,0V低电平。),因此可以直接连接stm32的IO。' }+ s9 a4 O1 f2 z2 k; f3 k4 A 3.检查到有人 HC-SR501输出高电平,否则低电平。2 f% q2 S. M& E- a# n" m 4.程序: / w! |+ p; s- A9 Q$ q! X6 U 4.1 设置stm32的IO管脚输入下拉。& @: X! M& m" a: M 4.2 读取io管脚的电平 while(1) { ; W. L7 n) ?% [7 U1 X if(GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_2))! F+ q, a5 F" Z { bsp_systick_delay_us(500*1000);7 m) K B2 z6 E* n- O1 K' X9 f% v. R: B if(GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_2)) { bsp_systick_delay_us(50*1000); bsp_led_ctrl(BSP_LED0, 1); bsp_led_ctrl(BSP_LED1, 1); bsp_systick_delay_us(500*1000); bsp_led_ctrl(BSP_LED0, 0); bsp_led_ctrl(BSP_LED1, 0); & D$ o0 I6 A6 \% m% p } ) z" s+ P3 q$ n) d$ h3 A } R% }7 J! Z- B else7 F6 z, g9 W) v { ^1 E6 l. S! B: t. u bsp_led_ctrl(BSP_LED0, 1);2 r; y. K' j9 C+ c. }- O; i3 c bsp_led_ctrl(BSP_LED1, 1);% @6 x F. e* f; v' t9 ^ }7 @0 U: U5 ~3 @9 S# U# K8 a3 |3 Y bsp_systick_delay_us(500*100); }% i% M' w, D/ [% A& `2 R + V8 J/ j& i8 s1 l4 Z" _ |
微信公众号
手机版
是的,本例只是测试用用。, D6 ~6 i" n( s* Z) S- B