Show Posts
Pages: 1 2 3 [4] 5 6 ... 229
46  International / Français / Re: stockage SD (SPI) + HorlogeDs3234(SPI) on: July 17, 2014, 06:49:12 am
vérifie que dans la lib de l'horloge ils ont bien mis SPI.setMode (SPI_MODE1) avant les appels au bus SPI et SPI.setMode (SPI_MODE0) après.
La méthode la plus rigoureuse serait plutôt:
  - lire l'état du mode courant et le sauvegarder
  - passer en mode 1 pour lire l'heure
  - restaurer le mode précédemment sauvegardé.
47  International / Français / Re: Badgeuse RFID d'entrée et de sortie et système de facturation on: July 16, 2014, 02:53:57 pm
Tu trouves des RTC avec une EEPROM à coté cela ne coûte que quelques euros et tu t'affranchis du problème lié à la durée de vie de l'EEPROM intégrée à l'ATmega.
48  International / Français / Re: UNO-R3 -- Carte µSD, Vitesses d'escargot dans le transfert des données !? on: July 15, 2014, 01:42:44 am
print est à réserver pour écrire sur une console. Conversion des nombres en texte affichable donc du temps CPU perdu. Le texte occupe jusqu'à 3 fois plus de place ce qui augmente la bande-passante nécessaire.
write prend les octets bruts et les écrit tel quel.
49  International / Français / Re: stockage SD (SPI) + HorlogeDs3234(SPI) on: July 14, 2014, 12:27:11 pm
Je vois qu'en téléchargeant la nouvelle librairie DS3234 du site arduino, celle-ci est plus légère que l'ancienne du coup je suppose qu'il manque des choses?
En es-tu certain?
Pour te torturer?
Regardes si les fonctions de cette librairie remplissent ton besoin. Le plus n'est pas toujours le mieux.
50  International / Français / Re: Tableau int dans tableau char on: July 14, 2014, 07:30:55 am
Pour la faire courte, on ne comprend rien à ton problème.
Tu parles de mettre un tableau dans un autre (alors que les 2 n'ont pas la même taille) puis ensuite de comparer 2 nombres et en fin de compte tu termines par une conversion d'un entier en chaîne de caractères.

Si tu exposais clairement ton problème :
  • j'ai un programme qui fait ..... et tu expliques ce qu'il fait  (et tu mets le programme en pièce jointe ou inséré dans le texte)
  • j'ai ça comme entrée dans une partie de mon programme
  • je veux faire telle et telle chose

au passage :
char char[1];
n'a pas de sens. Un tableau avec un seul élément c'est une simple variable.
51  International / Français / Re: paramétrage avec liaison série de 1 à 3 sur ARDUINO DUE on: July 14, 2014, 07:19:08 am
Pour la version 1.5.6 de l'IDE je ne peux rien dire. Mais avec la version 1.5.5 que j'ai il n'y a pas de problème.

As-tu sélectionné le bon type de carte?
52  International / Français / Re: commande driver Leadshine ES-D1008 on: July 12, 2014, 12:54:01 pm
La doc dit de laisser les enable en l'air si on ne désire pas désactiver le driver
For the enable signal, apply 0V between ENA+ and ENA- or leave them
unconnected to enable the drive. Recommend to leave the enable signal unconnected if you don’t
need to disable the drive.


Ce qui n'est pas précisé (ou que je n'ai pas trouvé) c'est quel courant tirent les entrées sur le contrôleur.
Dans le cas de ton driver, il est indiqué que la résistance de limitation n'est pas nécessaire mais sans aucune précision sur le type des entrées.
53  International / Français / Re: [QST] traitement de chaîne de caractère on: July 12, 2014, 12:35:22 pm

Code:
char * s={"Ma chaine de caracteres;avec.des delimiteurs"};  // la chaine à interpréter
char * delim={"= ;,."}; // la liste des délimiteurs

void setup(void){
  Serial.begin(9600);
  char *tmp;   // tampon pour travailler car strtok modifie la chaine qu'on lui passe
  tmp = strdup(s); // copie de la chaine dans tmp
  
  char *toto =strtok(tmp,delim); // première invocation de strtok
  Serial.println(toto);  // premier résultat
  while(toto){ // on itère tant que strtok ne retourne pas un pointeur vide
    toto =strtok(NULL,delim); // invocation de strtok pour les itérations suivantes on passe un pointeur NULL
    Serial.println(toto); // impression de la chaine intermédiaire
  }
}

void loop(void){}

Tout est expliqué dans le lien que j'ai mis plus haut.
54  International / Français / Re: textfinder - deux recherches pour le prix d'une on: July 11, 2014, 03:58:40 pm
salut,

oui j ai testé et cela ne donne rien. Il trouve bien "cac 40" mais apres il n'avance pas ...
Mon idée (espoir) etait de lui faire trouver une info et depuis ce point en chercher une seconde...
mais j'ai peur qu'il reprenne entierement la lecture de la page lors de la seconde recherche
Dans l'exemple donné sur le playground, il est bien montré qu'une recherche peut reprendre juste après la première.
Il cherche une première chaîne et ensuite une seconde avant d'extraire un nombre.
Il faut évidemment que celle-ci se trouve après dans le flux reçu. Puisque le texte est recherché au fil de l'eau sans stockage de données.
Il faut analyser le html avec un éditeur ou un outil d'affichage du html source intégré à ton navigateur pour vérifier que l'information est bien dans l'ordre ou tu l'attends. Avec le CSS la page affiché ne correspond pas nécessairement à l'ordre dans lequel le html a été reçu.
55  International / Français / Re: Communication avec Pro mini on: July 11, 2014, 02:06:36 pm
J'ai pris mesuré la tension entre le DTR et le GND, j'ai une tension qui bouge beaucoup au tout début, puis 0 très rapidement !
Alors c'est plutot un bon symptome
je rejoins icare et b@tto ,  il doit y avoir un "gros loup" du coté mini
En même temps il a essayé avec 2 mini.
Il ne reste plus que l'interface entre les mini et le convertisseur!
Tu n'aurais pas croisé RX et TX quand même?
La liaison de masse est bonne entre les 2 cartes?
56  International / Français / Re: UNO-R3 -- Carte µSD, Vitesses d'escargot dans le transfert des données !? on: July 11, 2014, 10:33:48 am
C'est une quelle classe ta SD ?
à terme ce serait une classe 10, mais pour l'instant le problème n'est pas là, commençons d'abord par accélérer le code...
En fait la classe de la carte est sans importance. Le goulot d'étranglement n'est certainement pas là.
Avec une horloge à 8MHz, tu écris 1 octet par µs soit 1Mo/s ce qui correspond à une classe 1. C'est pas les cadences infernales.
57  International / Français / Re: stockage SD (SPI) + HorlogeDs3234(SPI) on: July 11, 2014, 08:52:53 am
Une piste là:
http://forum.arduino.cc/index.php/topic,66212.0.html

plus qu'une piste ici:
http://playground.arduino.cc/Main/DS3234SoftwareLibrary
58  International / Français / Re: stockage SD (SPI) + HorlogeDs3234(SPI) on: July 11, 2014, 07:33:21 am
Code:
#define BUFF_MAX 256
....
   char buff[BUFF_MAX];
....
  // display current time
  snprintf(buff, BUFF_MAX, " %02d:%02d:%02d",t.hour, t.min, t.sec);
Mauvaise pratique sur un micro avec 2k de RAM.
Tu n'as normalement besoin que de 9 octets pourquoi en allouer plus. Si la pile est bien remplie tu vas écrire n'importe où et tu vas tout planter.
Pendant la mise au point tu peux éventuellement laisser une marge mais évite d'en demander trop cela peut avoir des conséquences sur l'allocation dynamique des variables.
59  International / Français / Re: [QST] traitement de chaîne de caractère on: July 11, 2014, 06:11:01 am
strtok fait ça très bien.
Petit exemple ci-dessous
Code:
char * s={"Ma chaine de caracteres;avec.des delimiteurs"};
char * delim={"= ;,."};

void setup(void){
  Serial.begin(9600);
  char *tmp;
  tmp = strdup(s);
 
  char *toto =strtok(tmp,delim);
  Serial.println(toto);
  while(toto){
    toto =strtok(NULL,delim);
    Serial.println(toto);
  }
}

void loop(void){}
60  International / Français / Re: UNO-R3 -- Carte µSD, Vitesses d'escargot dans le transfert des données !? on: July 11, 2014, 05:47:52 am
Je pense qu'il y a une mauvaise connaissance du système à la base.

Les échanges de données entre la carte SD et son hôte se font comme pour n'importe quel disque par lecture/écriture de secteurs. Sur la SD un secteur c'est 512 octets. Donc à chaque fermeture du fichier ou lorsque le tampon d'échange est plein la librairie écrit 512 octets dans la carte.
Avec une horloge à 8MHz, il faut 1µs pour envoyer un octet par le SPI. Pour transférer le tampon complet il faut donc, au mieux, 512µs. Comme il y a une boucle avec des tests pour gérer tout ça on comprend un peu mieux que tu trouves dans les 550µs.

Moralité, pour optimiser les transferts entre l'Arduino et la carte mémoire, je pense qu'il serait préférable de travailler par bloc de 512 octets.
Pages: 1 2 3 [4] 5 6 ... 229