Pages: [1]   Go Down
Author Topic: variable 16 bits en eeprom  (Read 903 times)
0 Members and 1 Guest are viewing this topic.
cappelle la grande
Offline Offline
Newbie
*
Karma: 0
Posts: 1
helico addict
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

bonjour a tous,
debutant(copier/coller addict) en arduino j'aurais voulu etre a meme de stocker puis lire une variable de 10 bits en eeprom donc sur deux adresse en eeprom car 2*8bits.
j'aurais voulu aussi decomposé une variable de 16bits en 2 fois 8bits et inversement 2x8bits en 1 de 16bits.
 si qqn pouvait poster une portion de code ce serait hypersympa
cordialement
Logged

homemade shield and llc for multiwii-copter @ Fr3d.kazeo.com

Ales
Offline Offline
Faraday Member
**
Karma: 39
Posts: 3755
Do or DIY
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Une manière de faire (non vérifiée) :

Utilise des shiftright >> et des shiftleft << pour séparer les deux paquets, ça devrait ressembler à ça :

Code:
int a = 49914 ; // en binaire : 1100001011111010 ta variable à décomposer
int b = a >> 8  ; // donc b =  000000011000010
int c = b << 8 ; // donc c = 1100001000000000
int d = a - c ;  // donc d = 0000000011111010


Il ne reste plus qu'a stocker a et d. Et pour reconstituer ta variable, il faudra faire une petite routine aussi  smiley-wink


« Last Edit: February 14, 2011, 04:42:35 am by B@tto » Logged


Massongex, Suisse
Offline Offline
Full Member
***
Karma: 3
Posts: 169
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Salut,

debutant(copier/coller addict) en arduino j'aurais voulu etre a meme de stocker puis lire une variable de 10 bits en eeprom donc sur deux adresse en eeprom car 2*8bits.

Tu peux utiliser la bibliotheque standard de avrlib, en  incluant eeprom.h

Code:
#include <avr/eeprom.h>
uint16_t valeur;
uint16_t EEMEM ee_ma_variable;
# Lecture
valeur = eeprom_read_word(&ee_ma_variable);
# Ecriture
eeprom_write_word(&ee_ma_variable, valeur);
A tester cependant, je l'ai utilisé en programmant directement un atmega, mais pas (encore) en passant par l'IDE de l'arduino.

churchill
Logged

Pages: [1]   Go Up
Jump to: