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

ConnectEVE
Jérémy
Administrateur du site
Administrateur du site
Messages : 2722
Âge : 44
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#21 Message par Jérémy » jeu. 10 déc. 2020 22:33 lien vers la Data-Sheet : Cliquez ici

PS J'ai pas réussis a faire fonctionner l’écran en utilisant le timer2 comme clock pour le SPI. Je ne comprends pas comment m'y prendre! dois je faire une interruption ?LE TMR2 à 3 mode de fonctionnement en plus.
C'est en faisant des erreurs, que l'on apprend le mieux !!!

ConnectEVE
satinas
Expert
Expert
Messages : 1225
Enregistré en : novembre 2015

#22 Message par satinas » jeu. 10 déc. 2020 22:39 lien vers la Data-Sheet : Cliquez ici

• SDI must have corresponding TRIS bit set
• SDO must have corresponding TRIS bit cleared
• SCK (Master mode) must have corresponding TRIS bit cleared
• SCK (Slave mode) must have corresponding TRIS bit set
• The RxyPPS and SSPxCLKPPS controls must select the same pin
• SS must have corresponding TRIS bit set

Bon là c'est clair (quoique :-))

Tu devrais mettre ton code complet, le problème c'est toujours ce mélange MikroC et code non MikroC. Bonne nuit :)

ConnectEVE
satinas
Expert
Expert
Messages : 1225
Enregistré en : novembre 2015

#23 Message par satinas » ven. 11 déc. 2020 06:43 lien vers la Data-Sheet : Cliquez ici

Bonjour
Voilà le fichier spi généré par MCC pour un SPI1 master. Il faut bien déclarer SSP1CLKPPS. Il manque le PPS SDO, il fallait sans doute le cocher dans MCC. La vitesse SPI est FOSC/4 (selon SSP1CON1).

La broche SS1 ne sert qu'en SPI slave, en SPI master il faut utiliser une i/o CS déclarée en output et la piloter avec le registre LAT.
Les pins CS, PD et INT de l'écran sont actifs à l'état bas.

spi1.c
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.

ConnectEVE
Jérémy
Administrateur du site
Administrateur du site
Messages : 2722
Âge : 44
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#24 Message par Jérémy » ven. 11 déc. 2020 08:21 lien vers la Data-Sheet : Cliquez ici

Bonjour à tous,

Oui donc pour la broche CS, il faut absolument la configurer ! je ne peux pas la forcer à l'état actif même avec un seul esclave. Ma déduction me dit que la librairie du FT800 s'en sert pour effectuer des taches. Donc elle est obligatoire même avec un seul esclave. une broche de perdue !

Concernant le code complet, le gros du code est générer par Visual TFT de MIkroC . Il ne sera pas très explicite sans y être initié mais voila les grosses lignes

► Afficher LE MAIN


► Afficher EVENT

► Afficher init


J'ai créer deux page, avec chucune 3 boutons, un bp pour aller à la page suivant et un autre pour venir. Surchaque page , 2 autres boutons pour modifier la configration en cours de route.

Et ca fonctionne nickel! avec le DIV à16 et l'oscillateur a 64Mhz les pages changes extrêmement vite.

La DIV par 4 de l'OSC mASTER pour le SPI ne focntionne pas. Pourtant je devrais une fréquance d'horloge SPI de 16Mhz seulement, en sachant qu'il prends jusqu'a 30Mhz. c'etait histoire de gagner encopre en vitesse de com et donc d'affichage!
Le fait d'être sur bread bord avec des fils voulant ne doit pas aider à cette fréquence.
C'est en faisant des erreurs, que l'on apprend le mieux !!!

ConnectEVE
satinas
Expert
Expert
Messages : 1225
Enregistré en : novembre 2015

#25 Message par satinas » ven. 11 déc. 2020 08:33 lien vers la Data-Sheet : Cliquez ici

Bravo :-)
Ou est-ce que tu déclares que le CS c'est D3 ?
Modifié en dernier par satinas le ven. 11 déc. 2020 08:38, modifié 1 fois.

ConnectEVE
Jérémy
Administrateur du site
Administrateur du site
Messages : 2722
Âge : 44
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#26 Message par Jérémy » ven. 11 déc. 2020 08:37 lien vers la Data-Sheet : Cliquez ici

Non le _SPI_REMAPPABLE_MASTER_OSC_DIV4 ne passe pas !

Du coup je me retrouve confronter à un autre probleme. QUand je passe à 64Mhz dans le programme, ma led clignote 4 fois plus vite au lieu de toute les secondes.

Peut-on changer cette valeur de configuration logicielle dans le programme ?
C'est en faisant des erreurs, que l'on apprend le mieux !!!

ConnectEVE
satinas
Expert
Expert
Messages : 1225
Enregistré en : novembre 2015

#27 Message par satinas » ven. 11 déc. 2020 08:40 lien vers la Data-Sheet : Cliquez ici

Tu devrais avoir un seul FOSC, pourquoi le changer ?

ConnectEVE
Jérémy
Administrateur du site
Administrateur du site
Messages : 2722
Âge : 44
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#28 Message par Jérémy » ven. 11 déc. 2020 09:41 lien vers la Data-Sheet : Cliquez ici

Pour accélérer la vitesse du SPI. C'est ca qui est étrange.

1er test : Je démarre avec un FOSC à 16Mhz déclarer à 16Mhz et _SPI_REMAPPABLE_MASTER_OSC_DIV64 ;
-> clignotement led toute les secondes. écran lent
J’appuie sur le bouton pour changer ma config:
Je passe avec un FOSC à 64Mhz déclarer en 16MHz ( comme je peux pas le changer) et _SPI_REMAPPABLE_MASTER_OSC_DIV16
-> Clignotement led 4/s(rapide) , et écran rapide.

2ieme test :Je démarre avec un FOSC à 16Mhz déclarer à 64Mhz et _SPI_REMAPPABLE_MASTER_OSC_DIV64 ;
-> clignotement led toute les 4 secondes. écran très lent
J’appuie sur le bouton pour changer ma config:
Je passe avec un FOSC à 64Mhz déclarer en 64MHz ( comme je peux pas le changer) et _SPI_REMAPPABLE_MASTER_OSC_DIV16
-> Clignotement led 1/s(normal) , et écran lent.

Déduction, La seule bonne config et d'avoir un décalage entre la déclaration de la fréquence de l'OSC et sa valeur réelle. cela donc modifie les tempo des librairies.... delay ou spi ou FT800.

C'est vraiment très bizzare
C'est en faisant des erreurs, que l'on apprend le mieux !!!

ConnectEVE
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2597
Âge : 73
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#29 Message par paulfjujo » ven. 11 déc. 2020 14:29 lien vers la Data-Sheet : Cliquez ici

bonjour,


un petit coup d'oeil sur
CODE REFERENCE BLOC
aiguillage de sous multiple de FOSC vers un peripherique
...je n'ai pas verifié si SPI clock etait concerné

j'ai vu que tu changes OSCFREQ , APRES la modif de vitesse du SPI ?
j'aurais fait le contraire , avec un petit delay d'attente pour que FOSC soit stable
ou alors via test des bits stabilité

OSCCON1 = 0x60; //Sets NOSC to 6(FRC), NDIV to 0 (1:1)
while(OSCCON2 != OSCCON1) //Wait for Clock Switch to occour
OSCFRQ = 8; //Sets HFINTOSC to 64MHz
while(!OSCSTATbits.HFOR);
Aide toi, le ciel ou FantasPic t'aidera

ConnectEVE
Jérémy
Administrateur du site
Administrateur du site
Messages : 2722
Âge : 44
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#30 Message par Jérémy » ven. 11 déc. 2020 17:20 lien vers la Data-Sheet : Cliquez ici

Je crois que tout ça dépasse mes compétences. Je vais être sage et accepté le compromis de vitesse et raison. je vais opté pour un oscillateur à 16Mhz déclaré à 16Mhz, avec une _SPI_REMAPPABLE_MASTER_OSC_DIV4 j'obtiens aussi une fréquence d'horloge SPI de 4Mhz ( vérifié à l'analyseur). Même si l'écran n'est pas super rapide, c'est déjà pas mal. Et comme ça j'ai mes bonnes tempo pour la suite du programme 1s=1s.
C'est en faisant des erreurs, que l'on apprend le mieux !!!


Retourner vers « Langage C »

Qui est en ligne

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