; -- RETE PIC NET dispositivo multimaster ; COMANDI DELLA RETE senza scrittura FLASH '---- Elabora i dati ricevuti '--- dati[2] seleziona tipo di operazione BRANCH dati[2],[test,r_reg,w_reg,r_ee,w_eeS,r_bit,w1_bit,w0_bit,x_bit,res] test: ' dati[2]=0 test del nodo dati[3]= "T" dati[4]= "e" dati[5]= "s" dati[6]= "t" goto op_out r_reg: ' =1 legge registro memoria for temp=0 to 5 peek dati[3]+temp,dati[4+temp] next goto op_out w_reg: ' =2 scrive registro memoria Poke dati[3],dati[4] goto r_reg 'manda risposta r_ee: '= 3 lettura file EEPROM for temp=0 to 5 read dati[3]+temp,dati[4+temp] next goto op_out w_ees: '= 4 scrive BYTE EEPROM write dati[3],dati[4] goto r_ee r_bit: '=5 isola bit ([3] indiriz. [4] bit %00010000 isola bit4 peek dati[3],temp 'legge dato dati[5]=temp ' salva byte dati[4] = temp & dati[4] 'isola bit salva [4] 1=1 0=0 if dati[4] > 0 then dati[4]=1 goto op_out w1_bit: '=6 setta bit reg. memoria %00001000 setta bit peek dati[3],temp 'leggi temp = temp | dati[4] poke dati[3],temp 'setta bit goto r_bit w0_bit: '=7 resetta bit peek dati[3],temp 'leggi temp = temp | dati[4] 'setta bit goto inverti x_bit: '=8 inverte stato bit reg. memoria %00001000 inverte bit 3 peek dati[3],temp 'leggi inverti: temp = temp ^ dati[4] poke dati[3],temp 'setta bit goto r_bit res: '=9 RESET del PIC Clear @ clrf PCLATH @ Goto 0 'RESETTA IL PIC '-- FINE della ruotine del BUS end