Forums - Tous les messages
Forums - Tous les messages
Pseudo Pass se souvenir de moi     Créer un compte
ARTICLES et TELECHARGEMENTS ~ FORUMS ~ LIENS  
 
             
 
Recherche
 
   
 
   Tous les messages

 Bas   Précédent   Suivant

« 1 2 (3) 4 5 6 ... 1540 »


Re: Structures, unions... ?
Accro
Inscrit:
28/09/2005 14:02
De Catalunya (66)
Messages: 581
Hors Ligne
Ah ok compris.

Bon je viens de réussir.

Par contre, ça ne marche pas lorsque je récupère l'adresse de la structure dans un pointer, car au moment de la copier dans une case U8, le compilateur me plante une erreur de type, puisque le type d'une structure est différent d'un U8 ...

En guise de test, j'ai rempli mon buffer Tx de ma SCI à partir de valeurs arbitraires de la structure.
Donc j'ai été obligé de faire l'adressage à partir du premier membre.

struct ntp_timestamp {
    
U32 seconds;
    
U32 fraction;
};

typedef struct ntp_packet ntp_packet;
struct ntp_packet {
    
U8 flags;
    
U8 stratum;
    
S8 poll;
    
S8 precision;
    
S32 root_delay;
    
S32 root_dispersion;
    
U32 reference_id;
    
struct ntp_timestamp reference_timestamp;
    
struct ntp_timestamp origin_timestamp;
    
struct ntp_timestamp receive_timestamp;
    
struct ntp_timestamp transmit_timestamp;
};


Puis dans le C :

for(;;) {      
      
ntp_packet test;
      
ntp_packet *pointer = &test;
      
U8 *= &test.flags;            //Recup de l'adresse du premier membre

      
test.flags 0xF1;            //Valeurs de test
      
test.poll 0xF1;
      
test.root_delay 0xFAFBFCFD;
      
      for(
064i++)
      {
          
SCI_buffer_Tx[i] = p[i];        //Vérification
      
}


Posté le : 05/05 23:47
Les octets s'envolent, les écrits restent !
Transférer la contribution vers d'autres applications Transférer


Re: Structures, unions... ?
Pilier de la communauté
Inscrit:
27/09/2005 18:07
De Metz
Messages: 1354
Hors Ligne
Non, ce n'est pas un problème d'endiannes, mais d'alignement:
Par exemple, tu crées une structure qui stocke un float, un char et un long int (32 bits). Si le compilateur se contente de se faire succéder les octets de ces 3 champs, ça va poser un problème sur un processeur 32 bits par exemple: le char faisant 1 octet, le long int qui suit va démarrer sur une adresse impaire et il faudra donc 2 accès mémoire pour le récupérer en entier.

Du coup, le compilateur va préférer aligner les champs sur des adresse multiples de 4 et le char prendra 4 octets même s'il n'y en a qu'un d'utile.

Posté le : 05/05 21:58
Transférer la contribution vers d'autres applications Transférer


Re: Structures, unions... ?
Accro
Inscrit:
28/09/2005 14:02
De Catalunya (66)
Messages: 581
Hors Ligne
Tu veux dires que les données ne seraient pas stockées dans le bon ordre ?

Posté le : 05/05 21:43
Les octets s'envolent, les écrits restent !
Transférer la contribution vers d'autres applications Transférer


Re: Structures, unions... ?
Pilier de la communauté
Inscrit:
27/09/2005 18:07
De Metz
Messages: 1354
Hors Ligne
Avec un pointeur sur la structure, tu dois pouvoir accéder à n'importe quel octet.
Attention, certains compilateurs alignent les champs en taille pour favoriser la rapidité d'accès. Bon, avec un processeur 8 bits ça ne présente pas d'intérêt, mais je préfère préciser.

Posté le : 05/05 18:17
Transférer la contribution vers d'autres applications Transférer


Structures, unions... ?
Accro
Inscrit:
28/09/2005 14:02
De Catalunya (66)
Messages: 581
Hors Ligne
Bonjour à tous,

Si je créé une structure avec des types différents, ai-je le moyen, par adressage par exemple, de retrouver l'ensemble de mes données 8bits en mémoire, puisque j'ai un S08 ?

Par exemple la structure suivante (non codée) :

struct(U8 = 0xFF , U16 = 0x0AB1 , U32 = 0x11223344)

Je dois bien pouvoir récupérer quelque par l'équivalent stocké de chaque octet à la suite :

FF,0A,B1,11,22,33,44

Vous l'aurez compris, il me faut envoyer et recevoir des types plus grand qu'un U8 via ma sci ...

Posté le : 05/05 15:51
Les octets s'envolent, les écrits restent !
Transférer la contribution vers d'autres applications Transférer


Re: Serveur NTP pour IOT
Accro
Inscrit:
28/09/2005 14:02
De Catalunya (66)
Messages: 581
Hors Ligne
Citation :
et en heure UTC aussi, ça peut te surprendre


Je te dirai ça quand j'aurai mes 2 1ere dents cassées :=)

Jacques, j'utilise sur ma carte V1 un USR-K2 et qui m'envoie juste des données toutes les secondes que dans un sens. Ma foi, depuis 3 ans maintenant, j'ai jamais eu de soucis.

Les K2 et K3 ont été remplacés par les K6 et K7 respectivement, avec toutes les broches compatibles. Le K6 n'a qu'un seul socket alors que le K7 en à 2... puis plein d'autres options, mais Modbus reste commun. Tout ça pour une 15aines d'€.

Il me semble qu'on peut aussi y envoyer sa propre page web si on s'en sert en tant que serveur.
Par contre, je crois qu'une maj de son firmware afin d'avoir une sécurité des données qui transitent comme TLS/SSH est à demander et est payante... la ou le Xport a un solide AES256.
Il y a aussi 2 ou 3 softs de test afin de voir ce qui circule entre un com virtuel et le NET et sont très efficaces.
Possibilité également, mais je n'ai pas encore essayé, de configurer le module par commandes AT coté Net comme coté SCI...

Le Xport m'a l'air assez similaire en dimension ou peut-être légèrement plus court.

Bon usriot est une boite chinoise. Mais leurs produits ont l'air de qualité pro et industrielle. Ils ont un matos incroyable pour la connectivité (c'est leur job), notamment pour de l'embarqué, wifi, 4G, gps ...

Ils ont aussi un Cloud dédié sauf que ... impossible de s'y connecter. Mais en y réfléchissant bien, et avec les problèmes actuels et leur censure, c'est peut-être pas étonnant.




Posté le : 02/05 23:49
Les octets s'envolent, les écrits restent !
Transférer la contribution vers d'autres applications Transférer


Re: Serveur NTP pour IOT
Pilier de la communauté
Inscrit:
27/09/2005 18:07
De Metz
Messages: 1354
Hors Ligne
Ils ne sont pas mal du tout tes petits modules. Les Xport sont encore plus petits mais ils sont 2 à 3 fois plus cher. Et en plus pour Modbus, il faut une référence spécifique alors que les tiens peuvent tout faire.
Je me le colle dans mes favoris.

Posté le : 02/05 17:34
Transférer la contribution vers d'autres applications Transférer


Re: Serveur NTP pour IOT
Pilier de la communauté
Inscrit:
23/10/2005 11:40
De Aix les Bains (73)
Messages: 1943
Hors Ligne
et en heure UTC aussi, ça peut te surprendre

Posté le : 02/05 16:09
Mieux vaut marcher dans la bonne direction que courir dans la mauvaise
Transférer la contribution vers d'autres applications Transférer


Re: Serveur NTP pour IOT
Accro
Inscrit:
28/09/2005 14:02
De Catalunya (66)
Messages: 581
Hors Ligne
Et bien ce petit module, même si je n'en connais pas d'autres en Ethernet et de cette taille là, est une petite merveille pour moi.
Pas plus orienté ModBus, que les autres protocoles. Il faut renseigner ModBus dans "Workmode".

Pour le NTP, si j'arrive à me connecter à l'un des serveurs ntp, et bien je devrais être en mesure de récupérer la trame de je ne sais plus de combien de paquets 32bits, dont ceux qui contiennent les milliards de secondes depuis 1970... à convertir !

Posté le : 02/05 16:07
Les octets s'envolent, les écrits restent !
Transférer la contribution vers d'autres applications Transférer


Re: Serveur NTP pour IOT
Pilier de la communauté
Inscrit:
23/10/2005 11:40
De Aix les Bains (73)
Messages: 1943
Hors Ligne
Au premier regard le truc semble très orienté modbus mais ne fait surement pas que ca.

Pour le détail de ta question je crains que ce soit des choses propres à ton module.

pour le NTP UDP est ton ami, je confirme mais après???

Posté le : 02/05 15:56
Mieux vaut marcher dans la bonne direction que courir dans la mauvaise
Transférer la contribution vers d'autres applications Transférer



 Haut
« 1 2 (3) 4 5 6 ... 1540 »




Powered by XOOPS© The XOOPS Project
Contacter les administrateurs

Forums - Tous les messages