3个管脚的HC-SR501的使用。

1.要注意设置可重复触发端口或者是不可重复触发端口。

2.要注意接入的电源大小是否符合要求。(如果电压不对会导致不能正常工作)

3.要注意延时的时间。

4.注意可以调节距离什么的。

下面是使用查询方式实现代码,主控芯片是s3c2440.

 

#define rGPFCON      (*(volatile unsigned long *)0x56000050)  //定义GPF控制器
#define rGPFDAT      (*(volatile unsigned long *)0x56000054)  //定义GPF数据寄存器


#define rGPGCON      (*(volatile unsigned long *)0x56000060)
#define rGPGDAT      (*(volatile unsigned long *)0x56000064)


//LED
#define GPF4_OUT (1<<(4*2)) //GPF第4位设置为输出
#define GPF5_OUT (1<<(5*2))
#define GPF6_OUT (1<<(6*2))


//Camera
#define GPG12_IN (0<<(12*2))


void delay_me(volatile unsigned long wait_time)
{
   while(wait_time>0)
   {
    wait_time--;
   }
}


void led_on()
{
  rGPFDAT &= ~(1<<4);
  rGPFDAT &= ~(1<<5);
  rGPFDAT &= ~(1<<6);
}
void led_off()
{
   rGPFDAT |= (1<<4);   
   rGPFDAT |= (1<<5);
   rGPFDAT |= (1<<6);   
}


int main()
{
  volatile unsigned long tmp=0;
  rGPFCON = GPF4_OUT|GPF5_OUT|GPF6_OUT;
  rGPGCON = GPG12_IN;
  rGPFDAT = 0xffff;
  while(1)
     {  
        tmp=rGPGDAT;
        if((tmp&(1<<12)))
          {
            led_on();  
            delay_me(1000000);
          }
         else
         {
            led_off();
         }
     }
}

 

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值