setecastronomy Inserito: 17 luglio 2007 Segnala Inserito: 17 luglio 2007 La domanda è appena un po' più complessa di quello che può sembrare dal titolo.Se ho un valore in MW 100 posso leggere lo stato del bit 0 con M 100.0 (Siemens è little endian non è vero ?).Se però sono all'interno di una funzione (FC) ed ho dichiarato una variabile in/out di tipo word come faccio ad accedere facilmente ad un bit di questa word ? Il programma mi presenta sì un indirizzo locale per tale variabile che parte da zero, ma non so se e come posso utilizzarlo.L'unico modo che ho trovato, molto laborioso, è il seguente:L #parola localeaw w#16#1 // and a 16 bit con mascheraL 1==Ijc _001 // il bit è settatoGrazieFilippo
Luca Bab Inserita: 17 luglio 2007 Segnala Inserita: 17 luglio 2007 Anche gli indirizzi locali li puoi consultare a bit tipo L0.0opppure molto stupidamente ti appoggia la tua variabile su di una MWciaoLuca
cisio Inserita: 17 luglio 2007 Segnala Inserita: 17 luglio 2007 Se ho un valore in MW 100 posso leggere lo stato del bit 0 con M 100.0 (Siemens è little endian non è vero ?).no, il bit 0 è M101.0MB100 = parte alta della wordMB101 = parte bassa della wordciao
setecastronomy Inserita: 23 luglio 2007 Autore Segnala Inserita: 23 luglio 2007 Il maledetto siemens è big endian. Ho letto il post troppo tardi ed ho perso due ore incredulo a cercare di capire come mai un bit di una word veniva letto come zero quando nell'esadecimale vedevo chiaramente il bit ad uno: stavo sbagliando byte.GrazieFilippo
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora