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 ---
- 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 ---
Modérateur : Jérémy
ConnectEVE
ConnectEVE
• 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 :)
• 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
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.
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.
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
ConnectEVE
-
Jérémy
Administrateur du site- Messages : 2722
- Âge : 44
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
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
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.
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.
ConnectEVE
ConnectEVE
-
Jérémy
Administrateur du site- Messages : 2722
- Âge : 44
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
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 ?
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 ?
ConnectEVE
ConnectEVE
-
Jérémy
Administrateur du site- Messages : 2722
- Âge : 44
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
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
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
ConnectEVE
- paulfjujo
Expert- Messages : 2597
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
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);
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);
ConnectEVE
-
Jérémy
Administrateur du site- Messages : 2722
- Âge : 44
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
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.
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 28 invités