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
afficheur Nokia 3310
- paulfjujo
Expert- Messages : 2597
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
bonjour,
J'ai repris mon code en C18 de 2014 pour le transposer en MikroC..
J'ai d'abord bien galéré en essayant d'utiliser le mode SPI advanced HARDWARE de mikroC ... sans succes
bien qu'avec mon analyser logique , je voyais bien les codes envoyés sur le Nokia 5110..
je regarderai ça plus tard..
J'ai donc conservé ici le mode SPI bit MAP , qui va bien .( et bien plus comprehensible!)
le projet MikroC Utilise le fichier pré-compilé :
My_Nokia_5110_MC_lib.mcl <-- code des fonctions nokia
avec, pour referencer les fonctions:
My_Nokia_5110_MC_lib.h <-- liste des fonctions avec arguments à passer
et le fichier principal :
_18F26k22_Test_Nokia_190811.c
le tout dans le Zip ( pas dans le Slip!)
le hardware est quasimentle meme que celui ci
[ attachment=1]Projet_MikroC_Nokia5110_18F26K22_190811.jpg[/attachment]
J'ai repris mon code en C18 de 2014 pour le transposer en MikroC..
J'ai d'abord bien galéré en essayant d'utiliser le mode SPI advanced HARDWARE de mikroC ... sans succes
bien qu'avec mon analyser logique , je voyais bien les codes envoyés sur le Nokia 5110..
je regarderai ça plus tard..
J'ai donc conservé ici le mode SPI bit MAP , qui va bien .( et bien plus comprehensible!)
le projet MikroC Utilise le fichier pré-compilé :
My_Nokia_5110_MC_lib.mcl <-- code des fonctions nokia
avec, pour referencer les fonctions:
My_Nokia_5110_MC_lib.h <-- liste des fonctions avec arguments à passer
et le fichier principal :
_18F26k22_Test_Nokia_190811.c
le tout dans le Zip ( pas dans le Slip!)
le hardware est quasimentle meme que celui ci
[ attachment=1]Projet_MikroC_Nokia5110_18F26K22_190811.jpg[/attachment]
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
afficheur Nokia 3310
afficheur Nokia 3310
afficheur Nokia 3310
afficheur Nokia 3310
- paulfjujo
Expert- Messages : 2597
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
bonjour,
J'ai quand même voulu comprendre pourquoi ça ne marchait pas en mode SPI Hardware
le probleme était le choix du niveau état repos , de la sortie SCLK ( PIC MOSI RC5 --> SCLCK input Nokia)
à mettre à l'état HAUT au repos _SPI_CLK_IDLE_HIGH
(était à l' etat bas par defaut _SPI_CLK_IDLE_LOW)
directive de compilation pour le choix usage SPI bit bang ou SPI Hardware
#define Mode_SPI_Bit_Bang
#define Mode_SPI_HARDWARE
dans le main program :
la difference de programme apparait aussi dans la lib : My_Nokia_5110_MC_lib.c
et uniquement pour la fonction d'ecriture sur le nokia
le meme fichier source sert aux 2 modes SPI, choisir le mode voulu :
en validant celui choisi via #define
et dévalidant l'autre avec #undef
le test trame SPI Hardware :
J'ai quand même voulu comprendre pourquoi ça ne marchait pas en mode SPI Hardware
le probleme était le choix du niveau état repos , de la sortie SCLK ( PIC MOSI RC5 --> SCLCK input Nokia)
à mettre à l'état HAUT au repos _SPI_CLK_IDLE_HIGH
(était à l' etat bas par defaut _SPI_CLK_IDLE_LOW)
directive de compilation pour le choix usage SPI bit bang ou SPI Hardware
#define Mode_SPI_Bit_Bang
#define Mode_SPI_HARDWARE
dans le main program :
Code : Tout sélectionner
void main()
{
// ... etc ...
#ifndef Mode_SPI_Bit_Bang // si on n'est pas en mode Bit Bang, c'est qu'on est en mode SPI Hardware
SPI1_Init_Advanced(_SPI_MASTER_OSC_DIV64, _SPI_DATA_SAMPLE_MIDDLE, _SPI_CLK_IDLE_HIGH,_SPI_LOW_2_HIGH);
SPI_Set_Active(&SPI1_Read, &SPI1_Write); // Sets the SPI1 module active
#endif
Nokia_Init();
//.. etc
la difference de programme apparait aussi dans la lib : My_Nokia_5110_MC_lib.c
et uniquement pour la fonction d'ecriture sur le nokia
Code : Tout sélectionner
void Nokia_Write_Byte(char Nokia_byte) // serial write data or command
{char caa;
#ifdef Mode_SPI_Bit_Bang
for (caa=8;caa>0;caa--)
{
Nokia_SCLK=0;
Delay_us(10);
if ((Nokia_byte&0x80)==0){Nokia_MOSI=0;}
else {Nokia_MOSI=1;}
Nokia_SCLK=1;
Nokia_byte= Nokia_byte << 1; // traitement bit par bit = bit Bang
}
#endif
#ifdef Mode_SPI_HARDWARE
SPI1_Write(Nokia_byte); // là c'est plus simple , c'est le SPI Hardware qui fait le travail !!
#endif
}
le meme fichier source sert aux 2 modes SPI, choisir le mode voulu :
en validant celui choisi via #define
et dévalidant l'autre avec #undef
Code : Tout sélectionner
// partie optionnelle uniquement pour
// test pour capture trame SPI avec mon analyser
UART1_Write_CText(" Test data sur signal SPI1 HARDWARE MOSI avec SQA50 Analyser \r\n");
Nokia_CE=1;
Delay_ms(2500);
SQA=1;
Nokia_CE=0;
for (i=48;i<57;i++) SPI1_Write(i);
Delay_us(100);
for (i='A';i<'F';i++) SPI1_Write(i);
Nokia_CE=1;
SQA=0;
le test trame SPI Hardware :
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
afficheur Nokia 3310
Bonjour paulfjujo Bonjour le groupe
Merci a tous pour le soutien et les éléments de réponses que vous m'apportez chaque jour
Bon je ne sais pas si ma question va te paraître bête mais bon j'ai pas envie de faire semblant de tout comprendre ce que tu dis.
S'il te plait est ce que tu peux m'expliquer la différence entre ses deux modes?
Et aussi au niveau du 'le test trame SPI Hardware'. Je ne sais pas si c'est hors contexte mais si ça concerne le pic j'aimerai savoir le nom du logiciel et a quoi il sert pour l'apprendre également.
Ressament j'ai utiliser le logiciel paintuno pour generer une image mais j'aimerai si possible le nom d'un logiciel qui permet de réduire la taille de l'image sans avoir a le rogner. Car en rognant mon image cela ne donne plus ce que je veux.
Et aussi le logiciel LCDAssistance prend des image de type n&b s'il vous plait c'est quoi cette extension au juste??
Je sais que j'ai beaucoup dévier ces dernier temps de mes objectifs mais j'ai un ans pour le faire. Et mon but est également d’améliorer mes capacités, de galvaniser mon CV pour peut être un jour travailler dans des sociétés tel que philips ou GE(Groupe electrogene).
S'il te plait accepte mon petit detour au niveau de ce logiciel 'le test trame SPI Hardware'. A quoi il sert quel est son rôle ? quel est son nom? est ce que je peut l'apprendre ou bien tu me le deconseil ?
Merci a tous pour le soutien et les éléments de réponses que vous m'apportez chaque jour
Bon je ne sais pas si ma question va te paraître bête mais bon j'ai pas envie de faire semblant de tout comprendre ce que tu dis.
S'il te plait est ce que tu peux m'expliquer la différence entre ses deux modes?
Et aussi au niveau du 'le test trame SPI Hardware'. Je ne sais pas si c'est hors contexte mais si ça concerne le pic j'aimerai savoir le nom du logiciel et a quoi il sert pour l'apprendre également.
Ressament j'ai utiliser le logiciel paintuno pour generer une image mais j'aimerai si possible le nom d'un logiciel qui permet de réduire la taille de l'image sans avoir a le rogner. Car en rognant mon image cela ne donne plus ce que je veux.
Et aussi le logiciel LCDAssistance prend des image de type n&b s'il vous plait c'est quoi cette extension au juste??
Je sais que j'ai beaucoup dévier ces dernier temps de mes objectifs mais j'ai un ans pour le faire. Et mon but est également d’améliorer mes capacités, de galvaniser mon CV pour peut être un jour travailler dans des sociétés tel que philips ou GE(Groupe electrogene).
S'il te plait accepte mon petit detour au niveau de ce logiciel 'le test trame SPI Hardware'. A quoi il sert quel est son rôle ? quel est son nom? est ce que je peut l'apprendre ou bien tu me le deconseil ?
afficheur Nokia 3310
afficheur Nokia 3310
Bonjour,
Le module MSSP en mode SPI : Voir cours de Monsieur Bigonoff : leçon 2, page 302.
paulfjujo se sert d'un analyseur logique, c'est un appareille que tu peux acheté à pas très chère, et qui rends un grand service regarde ce lien
Sa sert à contrôler les signaux envoyé sur son écran Nokia qui devrait corresponde à la datasheet.
Exemple prie sur la datasheet de l'écran Nokia
A+
PRNN-lab a écrit :Source du message S'il te plait est ce que tu peux m'expliquer la différence entre ses deux modes?
Le module MSSP en mode SPI : Voir cours de Monsieur Bigonoff : leçon 2, page 302.
paulfjujo se sert d'un analyseur logique, c'est un appareille que tu peux acheté à pas très chère, et qui rends un grand service regarde ce lien
Sa sert à contrôler les signaux envoyé sur son écran Nokia qui devrait corresponde à la datasheet.
Exemple prie sur la datasheet de l'écran Nokia
A+
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Modifié en dernier par Temps-x le jeu. 15 août 2019 14:52, modifié 3 fois.
afficheur Nokia 3310
afficheur Nokia 3310
- paulfjujo
Expert- Messages : 2597
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
bonjour
SPI en mode Bit Bang
c'est à dire que tu geres, toi-meme, un protocole SPI ,
EN DIRECT , les 2 bits gerant le transfert de données entre PIC et Nokia,
en respectant le chronogramme de la datasheet du Nokia. (celle donné par Temps-X)
Tu peux affecter n'importe quelle sortie du PIC .. c'est toi qui gere.
(Par commodité et habitude, J'utilise de preference ,les memes sorties que celle du SPI1 Hardware)
le bit de donnée ( sortie RC5) et le bit Horloge (sortie RC3)
la donnée 8 bits est donc décomposée
en bit elementaires , isolé dans le bit de poids fort via
if ((Nokia_byte&0x80)==0)Nokia_MOSI=0; else Nokia_MOSI=1;
bit envoyés au nokia, au ryhtme du bit horloge qui synchronise l'envoi.
Nokia_Sclk=0 , puis front montant Nokia_Sclk=1 apres la presentation du bit de donnée
un decalage à gauche pour passer au bit suivant via
Nokia_byte= Nokia_byte << 1;
au bout de 8 boucles l'octet donnée est transmis
*nota: sur la capture d'ecran, apparait le code programme, permettant cet affichage de capture
par contre en mode SPI HARDAWRE :
* il faut cocher la librairie System SPI !
c'est un registre à decalage HARDWARE, interne au PIC qui va decomposer la donnée et l'envoyer
voir datasheet du PIC section MSSP SPI
il suffit , apres avoir initialisé le mode SPI Hardware
de mettre la donnée dans la fonction d'envoi SPI1_Write(Donnee); .. c'est tout
ici c'est SPI1 car mon PIC possede 2 MSSP .
1 MSSP peut etre utilise en mode SPI ou en mode I2C .
nota: l'utilisation du mode Bit Bang est tres instructive, car Basique
que ce soit pour le SPI,l'I2C ou l'UART
Oui, un peu Hors contexte .. noté en option !
J'utilise SQA 50 analyser, un petit boitier relié au PC via USB
4 signaux peuvent etre analysés.
Le logiciel SQA anlyser propose des pre-reglage de protocole ..ici mode SPI
j'ai donc connecté ma sortie RC5 (Nokia_MOSI) et RC3 (Nokia_SCLK) ainsi que RC0 (Nokia_CE) selection de device
et une autre sortie trigger (RB1) nommée SQA destinée à déclencher la capture de l'analyser sur front montant.
On peut ainsi, avec un trigger, positionner une capture , là ou on veut , dans le programme.
Si le SQA reconnait le protocole, il peut afficher les données captées en clair.(Hexa ou ascii)
c'est pourqoui j'envoie les sequences '0' à'9' ,puis ''A' à 'F', facilement lisible sur la capture.
Si cet outil t'interesse, je te recommande plutot de prendre le modele SQA200
qui peut pedaler à 200MHz et avec 8 siganux au lieu de 4 signaux 50MHz
( bon il est 2 fois plus cher.. si j'avias su j'aurais pris celui là)
Avis de Jeremy ?
mais déja le modele 50Mhz m'a déja bien debrouillé de mauvaises situations.
En gros, c'est un Oscilloscope enregistreur special Data numerique.. ( Ne marche pas en analogique !)
PRNN-Lab a écrit : la différence entre ses deux modes?
SPI en mode Bit Bang
c'est à dire que tu geres, toi-meme, un protocole SPI ,
EN DIRECT , les 2 bits gerant le transfert de données entre PIC et Nokia,
en respectant le chronogramme de la datasheet du Nokia. (celle donné par Temps-X)
Tu peux affecter n'importe quelle sortie du PIC .. c'est toi qui gere.
(Par commodité et habitude, J'utilise de preference ,les memes sorties que celle du SPI1 Hardware)
le bit de donnée ( sortie RC5) et le bit Horloge (sortie RC3)
la donnée 8 bits est donc décomposée
en bit elementaires , isolé dans le bit de poids fort via
if ((Nokia_byte&0x80)==0)Nokia_MOSI=0; else Nokia_MOSI=1;
bit envoyés au nokia, au ryhtme du bit horloge qui synchronise l'envoi.
Nokia_Sclk=0 , puis front montant Nokia_Sclk=1 apres la presentation du bit de donnée
un decalage à gauche pour passer au bit suivant via
Nokia_byte= Nokia_byte << 1;
au bout de 8 boucles l'octet donnée est transmis
*nota: sur la capture d'ecran, apparait le code programme, permettant cet affichage de capture
par contre en mode SPI HARDAWRE :
* il faut cocher la librairie System SPI !
c'est un registre à decalage HARDWARE, interne au PIC qui va decomposer la donnée et l'envoyer
voir datasheet du PIC section MSSP SPI
il suffit , apres avoir initialisé le mode SPI Hardware
de mettre la donnée dans la fonction d'envoi SPI1_Write(Donnee); .. c'est tout
ici c'est SPI1 car mon PIC possede 2 MSSP .
1 MSSP peut etre utilise en mode SPI ou en mode I2C .
nota: l'utilisation du mode Bit Bang est tres instructive, car Basique
que ce soit pour le SPI,l'I2C ou l'UART
PRNN-Lab a écrit :Et aussi au niveau du 'le test trame SPI Hardware'.
Je ne sais pas si c'est hors contexte
Oui, un peu Hors contexte .. noté en option !
J'utilise SQA 50 analyser, un petit boitier relié au PC via USB
4 signaux peuvent etre analysés.
Le logiciel SQA anlyser propose des pre-reglage de protocole ..ici mode SPI
j'ai donc connecté ma sortie RC5 (Nokia_MOSI) et RC3 (Nokia_SCLK) ainsi que RC0 (Nokia_CE) selection de device
et une autre sortie trigger (RB1) nommée SQA destinée à déclencher la capture de l'analyser sur front montant.
On peut ainsi, avec un trigger, positionner une capture , là ou on veut , dans le programme.
Si le SQA reconnait le protocole, il peut afficher les données captées en clair.(Hexa ou ascii)
c'est pourqoui j'envoie les sequences '0' à'9' ,puis ''A' à 'F', facilement lisible sur la capture.
Si cet outil t'interesse, je te recommande plutot de prendre le modele SQA200
qui peut pedaler à 200MHz et avec 8 siganux au lieu de 4 signaux 50MHz
( bon il est 2 fois plus cher.. si j'avias su j'aurais pris celui là)
Avis de Jeremy ?
mais déja le modele 50Mhz m'a déja bien debrouillé de mauvaises situations.
En gros, c'est un Oscilloscope enregistreur special Data numerique.. ( Ne marche pas en analogique !)
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 43 invités