做一个人体感应报警器,用红外传感器(HC_SR501)和蜂鸣器,基于CC2530,zigbee开发板,IAR运行的,现在做了基础有人就响,没人就不响,想完善一下
/****************************************************************************
* 名 称: InitGpio()
* 功 能: 设置LED灯和P0.4相应的IO口
* 入口参数: 无
* 出口参数: 无
****************************************************************************/
void InitLed(void)
{
P1DIR |= 0x13; //P1.0、P1.1、P1.4定义为输出
P0SEL &= ~0x10;
P0DIR &= ~0x10; //P0.4定义为输入口
P2INP |= 0x20;
LED2 = 0; //点亮D2 提示程序已运行
}
void main(void)
{
InitLed(); //设置LED灯和P0.4相应的IO口
InitUart(); //调置串口相关寄存器
CLKCONCMD &= ~0x40; //设置系统时钟源为32MHZ晶振
while(CLKCONSTA & 0x40); //等待晶振稳定为32M
CLKCONCMD &= ~0x47; //设置系统主时钟频率为32MHZ
InitUart(); //调置串口相关寄存器
while(1) //无限循环
{
if(DATA_PIN == 1)
{
LED1 = 0; //有人时LED1亮
UartSendString("ON ", 3); //串口发送数据,提示用户
}
else
{
LED1 = 1; //无人时LED1熄灭
UartSendString("OFF ", 4); //串口发送数据,提示用户
}
DelayMS(1000);
}
}