📄 wiegand.c
字号:
for(i=0; i<10; i++)
Wait10ms();
// 发两次保险
Wiegand_dat=0x000000f2; // F2命令注销白名单
Wiegand_dat=Wiegand_dat<<8;
Wiegand_dat=Wiegand_dat+decaddr; // 设备地址
Wiegand_dat=Wiegand_dat<<16;
Wiegand_dat=Wiegand_dat+asctoint(User_id); // 用户编号
Send_Wiegand();
Wiegand_dat=0;
Wgnd_count=0;
}
///////////////////////////////////////////////////////////////////////////////
// 获取门控状态
///////////////////////////////////////////////////////////////////////////////
void getdevstate()
{
Wiegand_dat=0x000000f3; // F3获取门控状态
Wiegand_dat=Wiegand_dat<<8;
Wiegand_dat=Wiegand_dat+areaaddr; // 分组地址
Wiegand_dat=Wiegand_dat<<8;
Wiegand_dat=Wiegand_dat+decaddr; // 设备地址
Wiegand_dat=Wiegand_dat<<8;
Send_Wiegand();
Wiegand_dat=0;
Wgnd_count=0;
}
///////////////////////////////////////////////////////////////////////////////
// 防拆报警控制
///////////////////////////////////////////////////////////////////////////////
void tamper_alarm()
{
Wiegand_dat=0x000000f4; // F4布防
Wiegand_dat=Wiegand_dat<<8;
Wiegand_dat=Wiegand_dat+areaaddr; // 分组地址
Wiegand_dat=Wiegand_dat<<8;
Wiegand_dat=Wiegand_dat+decaddr; // 设备地址
Wiegand_dat=Wiegand_dat<<8;
Send_Wiegand();
Wiegand_dat=0;
Wgnd_count=0;
}
///////////////////////////////////////////////////////////////////////////////
// 防拆去除报警控制
///////////////////////////////////////////////////////////////////////////////
void tamper_alarm_off()
{
Wiegand_dat=0x000000f5; // F5撤防
Wiegand_dat=Wiegand_dat<<8;
Wiegand_dat=Wiegand_dat+areaaddr; // 分组地址
Wiegand_dat=Wiegand_dat<<8;
Wiegand_dat=Wiegand_dat+decaddr; // 设备地址
Wiegand_dat=Wiegand_dat<<8;
Send_Wiegand();
Wiegand_dat=0;
Wgnd_count=0;
}
///////////////////////////////////////////////////////////////////////////////
// 双锁双动控制方式
///////////////////////////////////////////////////////////////////////////////
void lock_22()
{
idata uchar i;
Wiegand_dat=0x000000f8; // F8设置锁控方式命令
Wiegand_dat=Wiegand_dat<<8;
Wiegand_dat=Wiegand_dat+areaaddr; // 分组地址
Wiegand_dat=Wiegand_dat<<8;
Wiegand_dat=Wiegand_dat+decaddr; // 设备地址
Wiegand_dat=Wiegand_dat<<8;
Wiegand_dat=Wiegand_dat+0; // 双锁双动
Send_Wiegand();
for(i=0; i<10; i++)
Wait10ms();
// 发两次保险
Wiegand_dat=0x000000f8; // F8设置锁控方式命令
Wiegand_dat=Wiegand_dat<<8;
Wiegand_dat=Wiegand_dat+areaaddr; // 分组地址
Wiegand_dat=Wiegand_dat<<8;
Wiegand_dat=Wiegand_dat+decaddr; // 设备地址
Wiegand_dat=Wiegand_dat<<8;
Wiegand_dat=Wiegand_dat+0; // 双锁双动
Send_Wiegand();
Wiegand_dat=0;
Wgnd_count=0;
}
///////////////////////////////////////////////////////////////////////////////
// 双锁单动控制方式
///////////////////////////////////////////////////////////////////////////////
void lock_21()
{
idata uchar i;
Wiegand_dat=0x000000f8; // F8设置锁控方式命令
Wiegand_dat=Wiegand_dat<<8;
Wiegand_dat=Wiegand_dat+areaaddr; // 分组地址
Wiegand_dat=Wiegand_dat<<8;
Wiegand_dat=Wiegand_dat+decaddr; // 设备地址
Wiegand_dat=Wiegand_dat<<8;
Wiegand_dat=Wiegand_dat+1; // 双锁单动
Send_Wiegand();
for(i=0; i<10; i++)
Wait10ms();
// 发两次保险
Wiegand_dat=0x000000f8; // F8设置锁控方式命令
Wiegand_dat=Wiegand_dat<<8;
Wiegand_dat=Wiegand_dat+areaaddr; // 分组地址
Wiegand_dat=Wiegand_dat<<8;
Wiegand_dat=Wiegand_dat+decaddr; // 设备地址
Wiegand_dat=Wiegand_dat<<8;
Wiegand_dat=Wiegand_dat+1; // 双锁单动
Send_Wiegand();
Wiegand_dat=0;
Wgnd_count=0;
}
///////////////////////////////////////////////////////////////////////////////
// 双锁联动控制方式
///////////////////////////////////////////////////////////////////////////////
void lock_2inter()
{
idata uchar i;
Wiegand_dat=0x000000f8; // F8设置锁控方式命令
Wiegand_dat=Wiegand_dat<<8;
Wiegand_dat=Wiegand_dat+areaaddr; // 分组地址
Wiegand_dat=Wiegand_dat<<8;
Wiegand_dat=Wiegand_dat+decaddr; // 设备地址
Wiegand_dat=Wiegand_dat<<8;
Wiegand_dat=Wiegand_dat+2; // 双锁联动
Send_Wiegand();
for(i=0; i<10; i++)
Wait10ms();
// 发两次保险
Wiegand_dat=0x000000f8; // F8设置锁控方式命令
Wiegand_dat=Wiegand_dat<<8;
Wiegand_dat=Wiegand_dat+areaaddr; // 分组地址
Wiegand_dat=Wiegand_dat<<8;
Wiegand_dat=Wiegand_dat+decaddr; // 设备地址
Wiegand_dat=Wiegand_dat<<8;
Wiegand_dat=Wiegand_dat+2; // 双锁联动
Send_Wiegand();
Wiegand_dat=0;
Wgnd_count=0;
}
///////////////////////////////////////////////////////////////////////////////
// 自定义正常操作发送合法用户号
///////////////////////////////////////////////////////////////////////////////
void normal_send()
{
idata uchar i;
Wiegand_dat=areaaddr; // 分组地址
Wiegand_dat=Wiegand_dat<<8;
Wiegand_dat=Wiegand_dat+decaddr; // 设备地址
Wiegand_dat=Wiegand_dat<<16;
Wiegand_dat=Wiegand_dat+asctoint(User_id); // 用户编号
Send_Wiegand();
for(i=0; i<7; i++)
Wait10ms();
// 发两次保险
Wiegand_dat=areaaddr; // 分组地址
Wiegand_dat=Wiegand_dat<<8;
Wiegand_dat=Wiegand_dat+decaddr; // 设备地址
Wiegand_dat=Wiegand_dat<<16;
Wiegand_dat=Wiegand_dat+asctoint(User_id); // 用户编号
Send_Wiegand();
Wiegand_dat=0;
Wgnd_count=0;
}
///////////////////////////////////////////////////////////////////////////////
// 26位韦根正常操作发送合法用户号
///////////////////////////////////////////////////////////////////////////////
void send26()
{
Wiegand_dat=decaddr; // 设备地址
Wiegand_dat=Wiegand_dat<<16;
Wiegand_dat=Wiegand_dat+asctoint(User_id); // 用户编号
Send_Wiegand();
Wiegand_dat=0;
Wgnd_count=0;
}
///////////////////////////////////////////////////////////////////////////////
// 34位韦根正常操作发送合法用户号
///////////////////////////////////////////////////////////////////////////////
void send34()
{
Wiegand_dat=areaaddr; // 分组地址
Wiegand_dat=Wiegand_dat<<8;
Wiegand_dat=Wiegand_dat+decaddr; // 设备地址
Wiegand_dat=Wiegand_dat<<16;
Wiegand_dat=Wiegand_dat+asctoint(User_id); // 用户编号
Send_Wiegand();
Wiegand_dat=0;
Wgnd_count=0;
}
///////////////////////////////////////////////////////////////////////////////
// 注册终端地址
///////////////////////////////////////////////////////////////////////////////
void addr_reg()
{
idata uchar i;
Wiegand_dat=0x000000f6; // F6注册终端地址
Wiegand_dat=Wiegand_dat<<8;
Wiegand_dat=Wiegand_dat+areaaddr; // 分组地址
Wiegand_dat=Wiegand_dat<<8;
Wiegand_dat=Wiegand_dat+decaddr; // 设备地址
Wiegand_dat=Wiegand_dat<<8;
Send_Wiegand();
for(i=0; i<10; i++)
Wait10ms();
// 发两次保险
Wiegand_dat=0x000000f6; // F6注册终端地址
Wiegand_dat=Wiegand_dat<<8;
Wiegand_dat=Wiegand_dat+areaaddr; // 分组地址
Wiegand_dat=Wiegand_dat<<8;
Wiegand_dat=Wiegand_dat+decaddr; // 设备地址
Wiegand_dat=Wiegand_dat<<8;
Send_Wiegand();
Wiegand_dat=0;
Wgnd_count=0;
}
///////////////////////////////////////////////////////////////////////////////
// 清空所有白名单
///////////////////////////////////////////////////////////////////////////////
void erase_bill()
{
idata uchar i;
Wiegand_dat=0x000000f7; // F7清空所有白名单
Wiegand_dat=Wiegand_dat<<8;
Wiegand_dat=Wiegand_dat+areaaddr; // 分组地址
Wiegand_dat=Wiegand_dat<<8;
Wiegand_dat=Wiegand_dat+decaddr; // 设备地址
Wiegand_dat=Wiegand_dat<<8;
Send_Wiegand();
for(i=0; i<10; i++)
Wait10ms();
// 发三次保险
Wiegand_dat=0x000000f7; // F7清空所有白名单
Wiegand_dat=Wiegand_dat<<8;
Wiegand_dat=Wiegand_dat+areaaddr; // 分组地址
Wiegand_dat=Wiegand_dat<<8;
Wiegand_dat=Wiegand_dat+decaddr; // 设备地址
Wiegand_dat=Wiegand_dat<<8;
Send_Wiegand();
for(i=0; i<10; i++)
Wait10ms();
// 发三次保险
Wiegand_dat=0x000000f7; // F7清空所有白名单
Wiegand_dat=Wiegand_dat<<8;
Wiegand_dat=Wiegand_dat+areaaddr; // 分组地址
Wiegand_dat=Wiegand_dat<<8;
Wiegand_dat=Wiegand_dat+decaddr; // 设备地址
Wiegand_dat=Wiegand_dat<<8;
Send_Wiegand();
Wiegand_dat=0;
Wgnd_count=0;
}
///////////////////////////////////////////////////////////////////////////////
// 电话设置报警控制
///////////////////////////////////////////////////////////////////////////////
void tele_alarm()
{
Wiegand_dat=0x000000f9; // F9电话布防
Wiegand_dat=Wiegand_dat<<8;
Wiegand_dat=Wiegand_dat+areaaddr; // 分组地址
Wiegand_dat=Wiegand_dat<<8;
Wiegand_dat=Wiegand_dat+decaddr; // 设备地址
Wiegand_dat=Wiegand_dat<<8;
Send_Wiegand();
Wiegand_dat=0;
Wgnd_count=0;
}
///////////////////////////////////////////////////////////////////////////////
// 电话去除报警控制
///////////////////////////////////////////////////////////////////////////////
void tele_alarm_off()
{
Wiegand_dat=0x000000fa; // FA电话撤防
Wiegand_dat=Wiegand_dat<<8;
Wiegand_dat=Wiegand_dat+areaaddr; // 分组地址
Wiegand_dat=Wiegand_dat<<8;
Wiegand_dat=Wiegand_dat+decaddr; // 设备地址
Wiegand_dat=Wiegand_dat<<8;
Send_Wiegand();
Wiegand_dat=0;
Wgnd_count=0;
}
///////////////////////////////////////////////////////////////////////////////
// 注册报警电话
///////////////////////////////////////////////////////////////////////////////
void reg_tele()
{
idata uchar i;
idata uchar temp;
Wiegand_dat=0x000000fb; // FB登记报警电话
for(i=0;i<3;i++)
{
Wiegand_dat=Wiegand_dat<<8;
temp=0;
if(tele_code[2*i]>0x39) // 共计12位定长电话号码
temp=tele_code[2*i]-0x37;
else
temp=tele_code[2*i]-0x30;
temp=temp<<4;
if(tele_code[2*i+1]>0x39)
temp=temp+(tele_code[2*i+1]-0x37);
else
temp=temp+(tele_code[2*i+1]-0x30);
Wiegand_dat=Wiegand_dat+temp;
}
Send_Wiegand();
Wiegand_dat=0;
Wgnd_count=0;
for(i=0;i<10;i++)
Wait10ms(); // 发送第二部分电话号码
Wiegand_dat=0x000000fb; // FB登记报警电话
for(i=3;i<6;i++)
{
Wiegand_dat=Wiegand_dat<<8;
temp=0;
if(tele_code[2*i]>0x39) // 共计12位定长电话号码
temp=tele_code[2*i]-0x37;
else
temp=tele_code[2*i]-0x30;
temp=temp<<4;
if(tele_code[2*i+1]>0x39)
temp=temp+(tele_code[2*i+1]-0x37);
else
temp=temp+(tele_code[2*i+1]-0x30);
Wiegand_dat=Wiegand_dat+temp;
}
Send_Wiegand();
Wiegand_dat=0;
Wgnd_count=0;
}
///////////////////////////////////////////////////////////////////////////////
// 清除报警电话号码
///////////////////////////////////////////////////////////////////////////////
void erase_tele()
{
Wiegand_dat=0x000000fc; // FC清电话报警号码
Wiegand_dat=Wiegand_dat<<8;
Wiegand_dat=Wiegand_dat+areaaddr; // 分组地址
Wiegand_dat=Wiegand_dat<<8;
Wiegand_dat=Wiegand_dat+decaddr; // 设备地址
Wiegand_dat=Wiegand_dat<<8;
Send_Wiegand();
Wiegand_dat=0;
Wgnd_count=0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -