📄 编辑2
字号:
if(ReadCCS(CCS_step)==0x02)
{//传送正确
if(temp==ReadCCS(CCS_type))
{
WriteCCS(CCS_step,0x03);
return;
}
else
{//传送错误
WriteCCS(CCS_step,0x01);
return;
}
}
//验证发送命令字************************
if(ReadCCS(CCS_step)==0x04)
{//传送正确
if(temp==ReadCCS(CCS_command))
{
WriteCCS(CCS_step,0x05);
return;
}
else
{//传送错误
WriteCCS(CCS_step,0x01);
return;
}
}
//验证发送数据**************************
if(ReadCCS(CCS_step)==0x06)
{//传送正确
if(temp==ReadCCS(CCS_data5))
{
WriteCCS(CCS_step,0x07);
return;
}
else
{//传送错误
WriteCCS(CCS_step,0x01);
return;
}
}
if(ReadCCS(CCS_step)==0x08)
{//传送正确
if(temp==ReadCCS(CCS_data4))
{
WriteCCS(CCS_step,0x09);
return;
}
else
{//传送错误
WriteCCS(CCS_step,0x01);
return;
}
}
if(ReadCCS(CCS_step)==0x0a)
{//传送正确
if(temp==ReadCCS(CCS_data3))
{
WriteCCS(CCS_step,0x0b);
return;
}
else
{//传送错误
WriteCCS(CCS_step,0x01);
return;
}
}
if(ReadCCS(CCS_step)==0x0c)
{//传送正确
if(temp==ReadCCS(CCS_data2))
{
WriteCCS(CCS_step,0x0d);
return;
}
else
{//传送错误
WriteCCS(CCS_step,0x01);
return;
}
}
if(ReadCCS(CCS_step)==0x0e)
{//传送正确
if(temp==ReadCCS(CCS_data1))
{
WriteCCS(CCS_step,0x0f);
return;
}
else
{//传送错误
WriteCCS(CCS_step,0x01);
return;
}
}
if(ReadCCS(CCS_step)==0x10)
{//传送正确
if(temp==ReadCCS(CCS_data0))
{
WriteCCS(CCS_step,0x11);
return;
}
else
{//传送错误
WriteCCS(CCS_step,0x01);
return;
}
}
//rs232write(temp);
//接收控制
if(temp==RECETYPE)
{
WriteCCR(CCR_type,RECETYPE);
WriteCCR(CCR_step,0x01);
rs232write(temp);
return;
}
//rs232write(temp);
if(ReadCCR(CCR_step)==0x01)
{
WriteCCR(CCR_command,temp);
WriteCCR(CCR_step,0x02);
rs232write(temp);
return;
}
if(ReadCCR(CCR_step)==0x02)
{
WriteCCR(CCR_data1,temp);
WriteCCR(CCR_step,0x03);
rs232write(temp);
return;
}
if(ReadCCR(CCR_step)==0x03)
{
WriteCCR(CCR_data0,temp);
WriteCCR(CCR_step,0x04);
rs232write(temp);
return;
}
}
void ConSendCommand()
{
if(ReadCCS(CCS_step)==0x01)
{
rs232write(ReadCCS(CCS_type)); //发送数据包头
WriteCCS(CCS_step,0x02);
return;
}
if(ReadCCS(CCS_step)==0x03)
{
rs232write(ReadCCS(CCS_command)); //发送命令字
WriteCCS(CCS_step,0x04);
return;
}
if(ReadCCS(CCS_step)==0x05)
{
if(ReadCCS(CCS_command)==0x01)
{//长数据包
rs232write(ReadCCS(CCS_data5)); //发送数据
WriteCCS(CCS_step,0x06);
}
else
{//断数据包
CCSInit(); //发送成功,还原资源
return;
}
}
if(ReadCCS(CCS_step)==0x07)
{
rs232write(ReadCCS(CCS_data4)); //发送数据
WriteCCS(CCS_step,0x08);
return;
}
if(ReadCCS(CCS_step)==0x09)
{
rs232write(ReadCCS(CCS_data3)); //发送数据
WriteCCS(CCS_step,0x0a);
return;
}
if(ReadCCS(CCS_step)==0x0b)
{
rs232write(ReadCCS(CCS_data2)); //发送数据
WriteCCS(CCS_step,0x0c);
return;
}
if(ReadCCS(CCS_step)==0x0d)
{
rs232write(ReadCCS(CCS_data1)); //发送数据
WriteCCS(CCS_step,0x0e);
return;
}
if(ReadCCS(CCS_step)==0x0f)
{
rs232write(ReadCCS(CCS_data0)); //发送数据
WriteCCS(CCS_step,0x10);
return;
}
if(ReadCCS(CCS_step)==0x11)
{
CCSInit(); //发送成功,还原资源
return;
}
}
if(ReadCCR(CCR_step)==0x02)
{
if(ReadCCR(CCR_command)==0x01)
{//长数据包
return;
}
else
{//短数据包
if(ReadCCR(CCR_command)==0x02)
{//退出智能系统
/*测试代码
WriteCCS(CCS_type,SENDTYPE);
WriteCCS(CCS_command,0x01);
WriteCCS(CCS_data5,0x11);
WriteCCS(CCS_data4,0x22);
WriteCCS(CCS_data3,0x33);
WriteCCS(CCS_data2,0x44);
WriteCCS(CCS_data1,0x55);
WriteCCS(CCS_data0,0x66);
WriteCCS(CCS_step,0x01); //发送送命令
*/
CCRInit();
return;
}
if(ReadCCR(CCR_command)==0x03)
{//智能家居已准备好
CCRInit();
return;
}
if(ReadCCR(CCR_command)==0x11)
{//智能家居未准备好
CCRInit();
return;
}
if(ReadCCR(CCR_command)==0x12)
{//APBUS枪线
CCRInit();
return;
}
if(ReadCCR(CCR_command)==0x13)
{//查询主控状态
CCRInit();
if(ReadSYSTEM(sp_SystemState)==c_SS_none)
{//交换机空闲状态
WriteCCS(CCS_type,SENDTYPE);
WriteCCS(CCS_command,0x21); //空闲状态
WriteCCS(CCS_step,0x01); //启动发送过程
return;
}
if(ReadSYSTEM(sp_SystemState)==c_SS_intoautosystem)
{//内线进入智能家具系统
WriteCCS(CCS_type,SENDTYPE);
WriteCCS(CCS_command,0x03); //内线进入智能家具系统
WriteCCS(CCS_step,0x01); //启动发送过程
return;
}
}
}
return;
}
if(ReadCCR(CCR_step)==0x04)
{
if(ReadCCR(CCR_command)==0x01)
{//长数据包
/*测试代码
WriteCCS(CCS_type,SENDTYPE);
WriteCCS(CCS_command,0x01);
WriteCCS(CCS_data5,ReadCCR(CCR_data1));
WriteCCS(CCS_data4,ReadCCR(CCR_data0));
WriteCCS(CCS_data3,0x33);
WriteCCS(CCS_data2,0x44);
WriteCCS(CCS_data1,0x55);
WriteCCS(CCS_data0,0x66);
WriteCCS(CCS_step,0x01); //发送送命令
*/
//读取电话铃声的数目
temp=ReadCCR(CCR_data1);
temp=(temp>>4)*10+((ReadCCR(CCR_data1)<<4)>>4);
WriteSYSTEM(sp_TakeLineOutside,ReadCCR(CCR_data1));
temp=ReadCCR(CCR_data0);
temp=(temp>>4)*10+((ReadCCR(CCR_data0)<<4)>>4);
WriteSYSTEM(sp_TakeLineAtHome,ReadCCR(CCR_data0));
CCRInit();
return;
}
else
{//错误数据,丢弃
CCRInit();
return;
}
}
if(ReadCCR(CCR_step)==0)
{
if(temp==0xD0)
{//查询状态
if(ReadSYSTEM(sp_SystemState)==c_SS_none)
{//交换机空闲状态
rs232write(0x21);
return;
}
if(ReadSYSTEM(sp_SystemState)==c_SS_intoautosystem)
{
rs232write(0x03);
return;
}
}
if(temp==0xD1)
{//电话铃声
rs232write(temp);
WriteCCR(CCR_step,1);
return;
}
}
if(ReadCCR(CCR_step)==1)
{
WriteCCR(CCR_step,2);
return;
}
if(ReadCCR(CCR_step)==2)
{
WriteCCR(CCR_step,0);
return;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -