ÂÛÎÄ(5 - 23)- ÖÕ½á°æ - ͼÎÄ ÏÂÔØ±¾ÎÄ

»ùÓÚµ¥Æ¬»úµÄÊý×Ö²É¿ØÆ÷Éè¼Æ

for(i=0;i<8;i++) {

SCK=0;

if(sdataL&0x01) DS = 1; //´®ÐÐÊý¾ÝÊä³ö else DS = 0;

SCK=1; //ÒÆÎ»ÊäÈëʱÖÓ£¬ÉÏÉýÑØÊäÈë sdataL>>=1; _nop_(); _nop_(); _nop_(); }

for(i=0;i<8;i++)

{ SCK=0; if(sdataH&0x01) DS = 1; //´®ÐÐÊý¾ÝÊä³ö else DS = 0; SCK=1; //ÒÆÎ»ÊäÈëʱÖÓ£¬ÉÏÉýÑØÊäÈë sdataH>>=1; _nop_(); _nop_(); _nop_(); }

LCK=0; //²¢ÐÐÊä³öʱÖÓ _nop_(); _nop_(); _nop_(); LCK=1; }

main() {

UCHAR *lpc ;

BOOL COM_OK=FALSE; UCHAR lpxdata[5]; UCHAR tmp=0x00; RS485_Re_EN=0;

tmp=P3; //P3=0xFF;»ñÈ¡±¾µØ²¨ÌØÂÊÉèÖà tmp=(tmp&0xC0)>>6; baurd_SetVal=tmp;

hc74_165(get_Value,3); //»ñȡģ¿éIDÉèÖÃ

44

Ñγǹ¤Ñ§Ôº±¾¿ÆÉú±ÏÒµÂÛÎÄ£¨±ÏÒµÉè¼ÆËµÃ÷Ê飩 2012

SubID_SetVal=get_Value[2]; SetSubID(SubID_SetVal);

Init_COM(SubID_SetVal,HOSTID,tmp,VERIFY_NONE,0); //³õʼ»¯´®¿Ú ClrCOM(); //Çå³ý»º´æ EA = 1; //¿ªÖÐ¶Ï while ( 1 ) {

RS485_Re_EN=0; //ʹÄÜ485½ÓÊÕ

lpc=GetCOM_Event(SCommand); //»ñÈ¡´®¿ÚͨÐÅʼþ switch(lpc[IDX_CMD]) { case CMD_COMM_TEST://0x01 { //COMͨÐŲâÊÔ WriteCom(CMD_COMM_TEST,\ COM_OK=TRUE; break; } case CMD_IO_IN://0x02 { //IOÊäÈëÐÅÏ¢ÉÏ´« hc74_165(get_Value,3); lpxdata[0]=get_Value[0]; //ÒªÉÏ´«µÄÊý¾Ý lpxdata[1]=get_Value[1]; lpxdata[2]=get_Value[2]; WriteCom(CMD_IO_IN,lpxdata,3); break; } case CMD_RELAY_IN:

{//±¾µØ¿ØÖƼ̵çÆ÷ÐÅÏ¢ÉÏ´« hc74_165(get_Value,3); lpxdata[0]=get_Value[0]; //ÒªÉÏ´«µÄÊý¾Ý lpxdata[1]=get_Value[1]; WriteCom(CMD_RELAY_IN,lpxdata,2); break; } case CMD_RELAY_SET://0x04 {//¼ÌµçÆ÷¿ØÖÆ if(lpc[IDX_DATA]) { flag_Relay=0x00; Writ_595_HL(lpc[IDX_DATA+1],lpc[IDX_DATA+2]); } else {

45