Bienvenue aux nouveaux arrivants sur FantasPic !

- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.

--- L’équipe FantasPic ---
On parle des Pics, sans rapport avec le langage ou la programmation

Modérateur : Jérémy

Question sur les tableaux ?
Jérémy
Administrateur du site
Administrateur du site
Messages : 2722
Âge : 44
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#1 Message par Jérémy » mer. 12 avr. 2017 15:26

Bonjour à tous,

Voila je pose une question sur les tableaux de char que l'on met dans nos PICS . En règle générale, que convient-il de faire quand on veut stockée différentes informations dans des cases de tableaux ?

Disons que j'ai 80 cases à stockées contenant des infos différentes par paquet de 10 . ( de 0 - 9 , de 10 à 19 etc ..... de 70 à 79) .

Existe-t-il des différences de créer 8 tableaux de 10 cases , plutôt que un seul tableaux de 80 cases ? en terme de rapidité , espace mémoire , d'adressage etc ....

Merci à vous !
C'est en faisant des erreurs, que l'on apprend le mieux !!!

Question sur les tableaux ?
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2589
Âge : 73
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#2 Message par paulfjujo » mer. 12 avr. 2017 19:17

bonsoir,

Au premier abord,
Je pense que gerer un seul pointeur pour parcourir 80 cases devrait etre plus efficace que d'en gerer 2
pour un tableau à 2 dimensions ..

apres qu'en fait-on ?
comment gerer les segment de 10 unites ..
Le compilo peut optimiser,
le programmeur peut compliquer ..
dilemme..

il faudrait comparer les 2 facons de coder et voir le nb d'instructions génerées.

et un tableau modulo 16 au lieu de 10 .. plus facile de gerer un pas binaire (modulo <<4 )
Aide toi, le ciel ou FantasPic t'aidera

Question sur les tableaux ?
Jérémy
Administrateur du site
Administrateur du site
Messages : 2722
Âge : 44
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#3 Message par Jérémy » mer. 12 avr. 2017 21:58

Merci Paul pour ces explications !

Cette question m'est venu pendant ma recherche de solution pour mon module Radio !

Afin de pouvoir "bufferisé" mes réponses il me fallait un endroit de stockage . Au départ j'étais partie sur un tableau de 10 cases par numero d'identification de mes modules ( 8 au total). Mais je suis tombé sur un problème, c'est l'adressage de ce tableau.
SI je reçois l'identifiant 1 je devais écrire dans le tableau disons "T1[....]" si l'identifiant reçu était 5 dans le "T5[....]" . Cela m'obligeant a créer des conditions avec le numéro de l’identifiant pour savoir dans lequel je devais écrire .

J'ai donc opté pour la deuxième solution soit un grand tableau . et pour écrire ou lire mes infos j'utilise directement l'Identifiant (avec iun coefficient de multiplication) .
Si je reçois l'identifiant 2 , alors j'irais tout simplement écrire dans mon tableau à l'endroit T[Identifiant*10] . Je retrouverais docn toutes mes infos entre 20 et 29 . et ainsi de suite !

Je me demandais donc si sur le plan méthode contrainte etc ..... cela engendrait quelques choses .
C'est en faisant des erreurs, que l'on apprend le mieux !!!

Question sur les tableaux ?
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2589
Âge : 73
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#4 Message par paulfjujo » jeu. 13 avr. 2017 18:14

Je me demandais donc si sur le plan méthode contrainte etc ..... cela engendrait quelques choses


Juste la perte des 10 premiers bytes ..puisque ton identifiant commence à 1 ..
sinon il faut faire
T[(Identifiant-1)*10] utilisation de 8x10= 80 bytes

si tu as suffisamment de place , utilise modulo 16 au lieu de modulo 10
cela evite la multiplication,
T[Identifiant <<4)
mais tu perd 6 bytes par identifiant..
plus le 1er decalage du au depart indice=1 et non zero
16 + 8 x 6 = 70 bytes perdus sur un total de 16x(1+8)=144
Aide toi, le ciel ou FantasPic t'aidera

Question sur les tableaux ?
Jérémy
Administrateur du site
Administrateur du site
Messages : 2722
Âge : 44
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#5 Message par Jérémy » jeu. 13 avr. 2017 20:15

Re,

paulfjujo a écrit :Source du message puisque ton identifiant commence à 1 ..

Non mon identifiant commence à 0 jusqu’à 7. J'ai prévue de codé mon identifiant par un DIP switch ! ainsi je pourrai facilement changer le numéro de mon esclave en modifiant la combinaison du switch .

Ton histoire de modulo est fortement judicieuse , car je suis à la recherhce de la moindre optimisation pour gagner en temps d'execution

En parlant de ça , si quelqu'un arrive à trouver un DIP SWITCH à 3 positions, sur un revendeur français ( farnell radiospares , lextronic , gotronic, conrad) je suis preneur. C'est super pratique pour faire des cartes de prototype genre pull - up 'un coté , rien au milieu pull down de l'autre ; ou branché un équipement style le câble RS-232 etc ...
C'est en faisant des erreurs, que l'on apprend le mieux !!!

Question sur les tableaux ?
Gérard
Avatar de l’utilisateur
Expert
Expert
Messages : 1640
Âge : 65
Enregistré en : septembre 2015
Localisation : Alsace - Haut-Rhin

#6 Message par Gérard » ven. 14 avr. 2017 07:41

Jérémy a écrit :Re,

paulfjujo a écrit :Source du message puisque ton identifiant commence à 1 ..

Non mon identifiant commence à 0 jusqu’à 7. J'ai prévue de codé mon identifiant par un DIP switch ! ainsi je pourrai facilement changer le numéro de mon esclave en modifiant la combinaison du switch .

Ton histoire de modulo est fortement judicieuse , car je suis à la recherhce de la moindre optimisation pour gagner en temps d'execution

En parlant de ça , si quelqu'un arrive à trouver un DIP SWITCH à 3 positions, sur un revendeur français ( farnell radiospares , lextronic , gotronic, conrad) je suis preneur. C'est super pratique pour faire des cartes de prototype genre pull - up 'un coté , rien au milieu pull down de l'autre ; ou branché un équipement style le câble RS-232 etc ...


Regarde ici pour tes switch.
Le 18/04/19 je suis devenu papy de jumeaux, le 01/09/23 une petite cousine des jumeaux est née.

Question sur les tableaux ?
Jérémy
Administrateur du site
Administrateur du site
Messages : 2722
Âge : 44
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#7 Message par Jérémy » ven. 14 avr. 2017 10:48

Bonjour à tous et Bonjour Gérard,

Gérard a écrit :Source du message Regarde ici pour tes switch.


Pas tout a fait , il me faut 3 positions pas trois switchs . Je veux dire par la du (On-Off-On) ...... et pas sur la baie si possible !
C'est en faisant des erreurs, que l'on apprend le mieux !!!

Question sur les tableaux ?
Gérard
Avatar de l’utilisateur
Expert
Expert
Messages : 1640
Âge : 65
Enregistré en : septembre 2015
Localisation : Alsace - Haut-Rhin

#8 Message par Gérard » ven. 14 avr. 2017 12:02

J'avais mal compris.
Je ne trouve pas de switch mais de genre ou ce genre.

Pourquoi n'aimes-tu pas EBay?
Le 18/04/19 je suis devenu papy de jumeaux, le 01/09/23 une petite cousine des jumeaux est née.

Question sur les tableaux ?
Jérémy
Administrateur du site
Administrateur du site
Messages : 2722
Âge : 44
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#9 Message par Jérémy » ven. 14 avr. 2017 12:28

Gérard a écrit :Source du message Pourquoi n'aimes-tu pas EBay?

Lol , ce n'est pas que j'aime pas Ebay, C'est que sur Ebay ca sort de ma poche. Hors j'ai la possibilité d'avoir ça par un ami( chef de projet BRD d'une grande entreprise) et sur ces commandes à lui, il y a beacoup de "0" donc quelques fourniture gratos c'est transparent ! ( mais chutttttt).

J'ai trouvé ca, mais c'est juste la photo qui est bonne , je ne vois pas les trois contacts clairemeent explicité. Pourtant ca existe il y en a sur ma carte easy PIC, justement pour faire Pull-up ou pull-down ou en l'air .
C'est en faisant des erreurs, que l'on apprend le mieux !!!

Question sur les tableaux ?
venom
Avatar de l’utilisateur
Confirmé
Confirmé
Messages : 953
Âge : 38
Enregistré en : avril 2016
Localisation : Klyntar
Contact :

#10 Message par venom » ven. 14 avr. 2017 18:21

Salut,

Tu cherche un bouton de ce type ???






@++
Mon site web
Mon discord : venom#4888


Retourner vers « Généralités sur les PICs »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 36 invités