Pages: [1]   Go Down
Author Topic: bit a bit...  (Read 997 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Jr. Member
**
Karma: 0
Posts: 53
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

 bjr a tous;

comment a partir de l'instruction :

Code:
Serial.print("Hello world.");
puis-je recuperer "h" "e" "l" "l" "o" .. etc... et les declarer en la meme variable "n" ?    smiley-zipper

je veut transferer un texte "serialprinté " sur le moniteur serie d'une taille de 400 octets
donc objectif: recuperer a chaque fois la variable "n" pour incrementer et ecrire ailleur, ça je sais faire...

c'est la recuperation de la variable depuis "serial.print "qui me cause pb...  smiley-fat

merci a tous..
Logged

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

Je pige pas : tu veux faire ça sur le PC ou sur l'arduino ? Parce que sérial.print() c'est Arduino -> PC donc rien à récupérer !

Logged


Offline Offline
Jr. Member
**
Karma: 0
Posts: 53
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

yé m'echplik :

j'ai monté une 24c01 en i2c avec mon "uno" et ça marche tres bien,
je veux modifier le programme pour envoyer mon petit fichier de 400 octets (toto.txt) sur pc dans la ram.
j'ai epluché les sequences string ,stream et autre, mais je ne trouve rien qui m'inspire pour transferer bit a bit le fichier vers la ram i2c.
j'ai manipulé moult choses en assembleur feu l'epoque des motorola, mais le c++ tout fais me rebute un peu..
je m'entraine donc a le faire avec l'eeprom de l'arduino uno pour maitriser.
ensuite pour mon appli , ça evrait etre simple...

si ça te parle ??   smiley-roll
Logged

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

Donc si je résume : ton PC envoie une trame de 400 octets que tu veux envoyer vers la RAM reliée à l'arduino ?
Logged


Offline Offline
Jr. Member
**
Karma: 0
Posts: 53
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

 smiley-lol oui...
Logged

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

Bin quand tu fais ta réception avec Serial.read(), tu lis déjà caractère par caractère. Ton code devrait ressembler à ça :
Code:
if (Serial.available){
Char Buffer[50];
int i=0;
delay(20);
while(Serial.available()) Buffer[i++] = Serial.read();
}

Chaque index de Buffer contiendra 1 caractère.
Logged


France
Offline Offline
Faraday Member
**
Karma: 55
Posts: 5347
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,

Déja il y a un truc que je comprend pas, le CI 24C01 est une EEPROM I2C, ce n'est pas une RAM.
Pour l'écriture octet par octet (et non bits par bits, ce n'est pas la même chose) tu peut faire un truc du genre :
Code:
int i = 0; // Compteur d'octet reçu
byte data;
do {
    while(Serial.available() < 1); // Attente d'un octet sur le port série
    data = Serial.read(); // Lecture de l'octet
    ta_super_fonction_qui_ecrit_dans_leeprom(i, data); // Stockage dans l'eeprom
} while(++i < 400); // Boucle tant que l'on a pas reçu 400 octets
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Offline Offline
Jr. Member
**
Karma: 0
Posts: 53
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

 smiley-mr-green woaaa !! la banane !!

un grand merci pour ces infos, effectivement l'i2c ram est une eeprom...desolé! dans l'exitation !! smiley-lol
je vais m'inspirer de vos posts , si avec ça j'y arrive pas !!
je vous dis ça... !!
Logged

Pages: [1]   Go Up
Jump to: