- Messaggi: 353
- Ringraziamenti ricevuti 8
MSP430, Microcontrollori 16 bit Ultra Low Power
HELP
- elpablito
- Autore della discussione
- Platino Utente
-
Less
Di più
11 Anni 4 Mesi fa #1
da elpablito
HELP è stato creato da elpablito
Buon giorno
Sto facendo il solito.....
Conosco la locazione di memoria (indirzzo) supponiamo 0x200
so che contiene una variabile int (quindi in 0x200 e 0x201)
Come faccio ad assegnare alla variabile int pippo il contenuto di 0x200 e 0x201 ?
Naturalmente usando il C, vediamo se così scopro dove ho raccontato balle.
Baciamo le medaglie
Paolo
Sto facendo il solito.....
Conosco la locazione di memoria (indirzzo) supponiamo 0x200
so che contiene una variabile int (quindi in 0x200 e 0x201)
Come faccio ad assegnare alla variabile int pippo il contenuto di 0x200 e 0x201 ?
Naturalmente usando il C, vediamo se così scopro dove ho raccontato balle.
Baciamo le medaglie
Paolo
Si prega Accesso o Crea un account a partecipare alla conversazione.
- StefA
-
- Moderatore
-
Less
Di più
- Messaggi: 1222
- Ringraziamenti ricevuti 104
11 Anni 4 Mesi fa - 11 Anni 4 Mesi fa #2
da StefA
..avevano magari fatto lo sgambetto al ka, ma il sangue restava sempre più denso dell'acqua.. [cit.]
Risposta da StefA al topic HELP
Se ho capito cosa intendi..
definisci pippo come un intero.. ci copi dentro il valore della memoria più significatovo, poi shifti di 8 posizioni e ci sommi il valore meno significativo.
int pippo;
pippo = 0;
pippo = [il contenuto di 0x200];
pippo >> 8;
pippo = pippo + [il contenuto di 0x201];
questo considerando il valore contenuto in 0x200 quello più significativo, cioè i bit più a sinistra; se il più significativo è il contenuto di 0x201 basta invertire 0x200 e 0x201.
Ste
definisci pippo come un intero.. ci copi dentro il valore della memoria più significatovo, poi shifti di 8 posizioni e ci sommi il valore meno significativo.
int pippo;
pippo = 0;
pippo = [il contenuto di 0x200];
pippo >> 8;
pippo = pippo + [il contenuto di 0x201];
questo considerando il valore contenuto in 0x200 quello più significativo, cioè i bit più a sinistra; se il più significativo è il contenuto di 0x201 basta invertire 0x200 e 0x201.
Ste
..avevano magari fatto lo sgambetto al ka, ma il sangue restava sempre più denso dell'acqua.. [cit.]
Ultima Modifica 11 Anni 4 Mesi fa da StefA.
Si prega Accesso o Crea un account a partecipare alla conversazione.
- elpablito
- Autore della discussione
- Platino Utente
-
Less
Di più
- Messaggi: 353
- Ringraziamenti ricevuti 8
11 Anni 4 Mesi fa #3
da elpablito
Risposta da elpablito al topic HELP
buondi allo STE
Il problema e esattamemte come scivere
pippo = [il contenuto di 0x200];
Se pippo è un int automaticamente le due locazioni finiscono in pippo
Lo 0x200 nasce da questa istruzione
ADC10SA = 0x200 che rappresenta la prima cella di memoria dove l'ADC va a memorizzare i risultati delle
varie conversioni.
ADC10SA è una voce del registro di ADC di che tipo è o se vuoi 0x200 di che tipo è ?
Dovrei scrivere:
int pippo = *ADC10SA che è una fesseria perchè ADC10SA è l'indirizzo, ma è per rendere l'idea
Il problema è solo questo come scrivere correttamente
pippo =[contenuto della cella 0X200]
Poi il resto non è problema.
Grazie
Paolo
Il problema e esattamemte come scivere
pippo = [il contenuto di 0x200];
Se pippo è un int automaticamente le due locazioni finiscono in pippo
Lo 0x200 nasce da questa istruzione
ADC10SA = 0x200 che rappresenta la prima cella di memoria dove l'ADC va a memorizzare i risultati delle
varie conversioni.
ADC10SA è una voce del registro di ADC di che tipo è o se vuoi 0x200 di che tipo è ?
Dovrei scrivere:
int pippo = *ADC10SA che è una fesseria perchè ADC10SA è l'indirizzo, ma è per rendere l'idea
Il problema è solo questo come scrivere correttamente
pippo =[contenuto della cella 0X200]
Poi il resto non è problema.
Grazie
Paolo
Si prega Accesso o Crea un account a partecipare alla conversazione.
- StefA
-
- Moderatore
-
Less
Di più
- Messaggi: 1222
- Ringraziamenti ricevuti 104
11 Anni 4 Mesi fa #4
da StefA
..avevano magari fatto lo sgambetto al ka, ma il sangue restava sempre più denso dell'acqua.. [cit.]
Risposta da StefA al topic HELP
passa da una variabile a 8 bit.. un char.
int pippo = 0;
char dato = 0;
dato = [il contenuto di 0x200];
pippo = dato;
dato = [il contenuto di 0x201];
pippo >> 8;
pippo = pippo + dato;
simulandolo (anche solo con mplab sim) puoi vedere se il dato quando viene passato dalla memoria alla variabile a pippo rimane invariato, altrimenti devi aggiungere il casting..
Ste
int pippo = 0;
char dato = 0;
dato = [il contenuto di 0x200];
pippo = dato;
dato = [il contenuto di 0x201];
pippo >> 8;
pippo = pippo + dato;
simulandolo (anche solo con mplab sim) puoi vedere se il dato quando viene passato dalla memoria alla variabile a pippo rimane invariato, altrimenti devi aggiungere il casting..
Ste
..avevano magari fatto lo sgambetto al ka, ma il sangue restava sempre più denso dell'acqua.. [cit.]
Si prega Accesso o Crea un account a partecipare alla conversazione.
- elpablito
- Autore della discussione
- Platino Utente
-
Less
Di più
- Messaggi: 353
- Ringraziamenti ricevuti 8
11 Anni 4 Mesi fa #5
da elpablito
Risposta da elpablito al topic HELP
OK Ste
Dimmi come fai a scivere in c
dato = [il contenuto di 0x200];
Poi siamo amici !!
ciao Paolo
Dimmi come fai a scivere in c
dato = [il contenuto di 0x200];
Poi siamo amici !!
ciao Paolo
Si prega Accesso o Crea un account a partecipare alla conversazione.
Moderatori: Mauro Laurenti, Matteo Garia
Registrati al sito
Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.
Forum - Ultimi messaggi
-
- progetto can
- da marcelloraja
-
- MODULO GSM SIM900A
- da Mauro Laurenti
-
- Freedom III e compilazioni fallite
- da Mauro Laurenti
-
- Gestione degli errori su comunicazione seriale
- da Mauro Laurenti
-
- Timer0 e interrupt
- da Mauro Laurenti