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

afficheur Nokia 3310
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2589
Âge : 73
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#51 Message par paulfjujo » dim. 11 août 2019 17:38

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]

_Nokia5110_18F26K22_MC_190811.zip
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Aide toi, le ciel ou FantasPic t'aidera

afficheur Nokia 3310
PRNN-lab
Amateur
Amateur
Messages : 118
Enregistré en : août 2019

#52 Message par PRNN-lab » lun. 12 août 2019 00:51

Bonsoir le groupe
bonsoir paulfjujo vraiment merci pour ce mal que tu t'es donné pour moi je regarde ça tout de suite
Ce qui doit marcher jamais ne doit être pressé...... :idea:

afficheur Nokia 3310
PRNN-lab
Amateur
Amateur
Messages : 118
Enregistré en : août 2019

#53 Message par PRNN-lab » lun. 12 août 2019 01:04

Voici ce que j’obtiens chez moi
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Ce qui doit marcher jamais ne doit être pressé...... :idea:

afficheur Nokia 3310
PRNN-lab
Amateur
Amateur
Messages : 118
Enregistré en : août 2019

#54 Message par PRNN-lab » lun. 12 août 2019 01:08

C'est mon merci ça a bien compilé maintenant Merci !
Ce qui doit marcher jamais ne doit être pressé...... :idea:

afficheur Nokia 3310
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2589
Âge : 73
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#55 Message par paulfjujo » mer. 14 août 2019 14:44

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 :


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

_Nokia_5110_18F26K22_190813.zip



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 :
SCANA_Test_envoi_SPI1_Hardware_OK_190812.jpg
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Aide toi, le ciel ou FantasPic t'aidera

afficheur Nokia 3310
PRNN-lab
Amateur
Amateur
Messages : 118
Enregistré en : août 2019

#56 Message par PRNN-lab » jeu. 15 août 2019 12:48

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).
idea ! 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 ? :geek:
Ce qui doit marcher jamais ne doit être pressé...... :idea:

afficheur Nokia 3310
PRNN-lab
Amateur
Amateur
Messages : 118
Enregistré en : août 2019

#57 Message par PRNN-lab » jeu. 15 août 2019 12:51

J'aime bien apprendre de tout surtout si cela peut galvaniser mon CV
Ce qui doit marcher jamais ne doit être pressé...... :idea:

afficheur Nokia 3310
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2595
Enregistré en : juillet 2016
Localisation : Terre

#58 Message par Temps-x » jeu. 15 août 2019 13:19

Bonjour,

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?


:roll: 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. :sifflotte:

Exemple prie sur la datasheet de l'écran Nokia

Commande.jpg


==> 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.
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

afficheur Nokia 3310
PRNN-lab
Amateur
Amateur
Messages : 118
Enregistré en : août 2019

#59 Message par PRNN-lab » jeu. 15 août 2019 13:40

D'accord merci.... Merci !

Cool ta signature humour!!

Je cour pour finir le premier livre
Ce qui doit marcher jamais ne doit être pressé...... :idea:

afficheur Nokia 3310
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2589
Âge : 73
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#60 Message par paulfjujo » jeu. 15 août 2019 14:17

bonjour


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


:sifflotte: 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 !)
Aide toi, le ciel ou FantasPic t'aidera


Retourner vers « Langage C »

Qui est en ligne

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