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 ---
Forum général sur le langage C !

Modérateur : Jérémy

[resolu] DS1307 (RTC) + LCD + PIC 16F877 A
Guest
Confirmé
Confirmé
Messages : 800
Enregistré en : mars 2017

#41 Message par Guest » jeu. 12 mai 2016 08:54

Bonjour

Les pointeurs:

Les variables sont stockées dans des cases de la zone mémoire RAM voir (définition) la plus petite case fait 8 bits (même pour un 16 bits)chaque case est repérée par un NUMÉRO
0,1,2,3,4,5,etc.......
ainsi si on ecrit dans cette RAM 'FANTASPIC, le F est en 0 le A en 1 le N en 2 etc....

il y a 2 moyens pour accéder a la RAM, aussi bien en écriture ,qu'en lecture, prenons, l'exemple de fantaspic je peux lire comme cela:
Lecture case 0-> affiche le résultat sur le terminal ou LCD peut importe il va afficher F
Lecture case 1 ->affiche le résultat......
Lecture case 2 ->.........
etc c'est ce que l'on appel un accès a la RAM DIRECT ou tu n'as pas d'autre intervenant.

On voit que pour un accès ici c'est assez court est rapide mais imagine 200 cases a lire c'est DUR donc il faut trouver autre chose.

Autre chose c'est le mode indexé
Maintenant si dans la case 20 (au hasard) on écrit, l'adresse, LE NUMÉRO de la 1er case qui contient FANTASPIC, 20 va contenir 0
On peut faire évoluer le contenu de 20, on peut lui dire ton contenu est égale a contenu+1,donc 20 va contenir plus 0 mais 1 on peut continuer comme cela..... 20 est le pointeur sur FANTASPIC et 0 est son index

c'est la que ça se corse un peu toujours pour notre lecture

En mode direct cela nous donne:
-Lecture case 0-> affiche le résultat sur le terminal ou LCD peut importe il va afficher F
En mode indexé donc avec un pointeur 20(0):
-Lecture du CONTENU(1) ET lecture DU CONTENU(2) de la case 20 affiche le résultat sur le terminal ou LCD peut importe il va afficher F
si on décortique:
Lecture contenu de 20 -> on va avoir 0, puis
Lecture contenu de 0 -> c'est la case 0 donc bien F
Reste plus qu'a faire
20(1)->A
ETC.....

POUR résumer 1er temps lecture du pointeur son contenu. Puis dans un 2eme temps lecture de la case du contenu du pointeur on fait 2 lectures IDEM pour l'ecriture

Puis reste plus qu'a modifier l'index pour accéder au reste de FANTASPIC sachant qu'il faut s’arrêter a l'index 8

A+

c'est pas un tuto mais pas loin pourtant :furieux: BON.......

si pas compris redemande :wink:

[resolu] DS1307 (RTC) + LCD + PIC 16F877 A
Guest
Confirmé
Confirmé
Messages : 800
Enregistré en : mars 2017

#42 Message par Guest » ven. 13 mai 2016 18:24

Petit rajout me suis planter pour l’écriture :wink:
1er temps lecture du pointeur son contenu. Puis dans un 2eme temps ecriture dans la case du contenu du pointeur on fait 1 lecture puis 1 ecriture.
Il va de soi que c'est théorique juste pour que tu comprennes le déroulé.
Sinon nos µC et µP on des registres spéciaux qui font de l'indexe et cela tres rapidement

A+

[resolu] DS1307 (RTC) + LCD + PIC 16F877 A
venom
Avatar de l’utilisateur
Expert
Expert
Messages : 1623
Âge : 40
Enregistré en : avril 2016
Localisation : Klyntar
Contact :

#43 Message par venom » ven. 13 mai 2016 18:38

Merci Mai pour ces explications. Je relirais ça a tête reposé. (je suis sur smartphone actuellement) ;).

En faite pour un peux expliquer ma façon de procéder à la base,
Exemple : 15:09:58s

Moi je penser pouvoir récupérer le 8 de 58s via le % et de la dire que si If DixaineSeconde = 8 alors on active le pin de tel led

Mais je pense que je voie les choses trop facilement :s :D

En tout cas merci de tes explications, je vais étudier Sade près. Merci.





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

[resolu] DS1307 (RTC) + LCD + PIC 16F877 A
Guest
Confirmé
Confirmé
Messages : 800
Enregistré en : mars 2017

#44 Message par Guest » ven. 13 mai 2016 18:43

NON NON c'est pas comme cela dommage :wink:
mais le raisonnement est BON, bon pour un organigramme
Prend ton temps si tu ne comprends pas, je suis a ta disposition, pour les pointeurs.Sinon il y a ici des experts du DS1307

A+

[resolu] DS1307 (RTC) + LCD + PIC 16F877 A
Jérémy
Administrateur du site
Administrateur du site
Messages : 2750
Âge : 46
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#45 Message par Jérémy » ven. 13 mai 2016 22:00

 ! Message de modération :
Bonsoir,
venom , je te propose de bien vouloir ouvrir un nouveau post, car celui ci est déjà marquer résolu et concernait le fonctionnement sur simulateur.
D’après ce que je crois comprendre tu cherche maintenant à convertir une donnée BCD en binaire.
Afin de faciliter la recherche, et la compréhension par les autres membres , l'ouverture d'un nouveau serait judicieux !

Merci à très vite
C'est en faisant des erreurs, que l'on apprend le mieux !!!

[resolu] DS1307 (RTC) + LCD + PIC 16F877 A
venom
Avatar de l’utilisateur
Expert
Expert
Messages : 1623
Âge : 40
Enregistré en : avril 2016
Localisation : Klyntar
Contact :

#46 Message par venom » sam. 14 mai 2016 21:12

Oui excuse moi. C'est se que je compter faire, je me suis fait la réflexion :)






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

[resolu] DS1307 (RTC) + LCD + PIC 16F877 A
Jérémy
Administrateur du site
Administrateur du site
Messages : 2750
Âge : 46
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#47 Message par Jérémy » sam. 14 mai 2016 21:16

Pas de soucis on pourra avancer comme ca !

Au plaisir
C'est en faisant des erreurs, que l'on apprend le mieux !!!

[resolu] DS1307 (RTC) + LCD + PIC 16F877 A
Guest
Confirmé
Confirmé
Messages : 800
Enregistré en : mars 2017

#48 Message par Guest » dim. 15 mai 2016 10:13

bonjour
Pour moi le problème n'est pas résolu car il veut avec un ds 1307 afficher l'heure sur un LCD et la c'est pas fini. Sinon il faut virer la notion de pointeur aussi

c'est bien sur toujours AMHA

[resolu] DS1307 (RTC) + LCD + PIC 16F877 A
Jérémy
Administrateur du site
Administrateur du site
Messages : 2750
Âge : 46
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#49 Message par Jérémy » dim. 15 mai 2016 10:16

Son problème en #1 est quel le logiciel de simulation ne fonctionne pas !

Il a réussis à le faire fonctionner en rajoutant le module I2C qui va bien . Son problème de simulation est donc résolu .

Maintenant on peut passer à la conversion et au pointeur.
C'est en faisant des erreurs, que l'on apprend le mieux !!!

[resolu] DS1307 (RTC) + LCD + PIC 16F877 A
venom
Avatar de l’utilisateur
Expert
Expert
Messages : 1623
Âge : 40
Enregistré en : avril 2016
Localisation : Klyntar
Contact :

#50 Message par venom » dim. 15 mai 2016 11:30

Oui oui, sous simulation j'arrive bien à afficher la date et l'heure sur un LCD. Donc ma question principal de ce post est résolu.

C'était pour essayé de comprendre le fonctionnement du ds1307.

Maintenant il me faut un nouveau topic pour modifier le résultat du ds1307 et le transformer pour le lire en binaire et l'afficher sur une horloge binaire.






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


Retourner vers « Langage C »

Qui est en ligne

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