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] Test mini OLED SSD1306 128x32 18F27K42
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2589
Âge : 73
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#1 Message par paulfjujo » jeu. 31 déc. 2020 18:12

bonjour à tous,


Test avec MikroC 7.60 et mini OLED 18F27K42 en I2C Hardware => Non abouti
mais OK en classique I2C software ..
passage sur MPLABX ...
apres de nombreux tests infructeux, dus à l'init du SSD106,
OK en mode I2C1 Hardware et compilateur XC8 MPLABX.

I2C HARDWARE tres different sur ce PIC
de l'I2C des PICS habituels. utilisant les registres MSSP ( en I2C ou SPI)


le projet MPLABX 5.20 avec XC8 , complet :
OLED_SSD1306_I2C1_Hardw_18F27K42_2020-1231.zip


affichage sur 4 lignes
valeur EA1 sur 12bits
suivi sur terminal
(0.000) ABCDEF
(0.028)
(0.000) Projet MPLABX : OLED_SSD1306_18F27K42
(0.000) Compile le Dec 31 2020 a 17:03:04 UTC
(0.036) avec version XC8 : 2100
(0.000) Usage de OLED_SSD1306_I2C_Hardw_18Fx7K42_2020.c rev 31/12/2020
(0.042) Hardware : BASE 18F27K42
(0.035) Entree ANA sur RA1
(0.000) Sortie NCO1 10Khz sur RA3
(0.000) SQA50 synchro Analyser : Sortie sur RC5
(2.008) Init mini-OLED SSD1306 20x10mm I2C1 Hardware avec OLED_Init
(0.355) Clear OLED
(1.409) MCU 18F27K42 I2C HW
(2.062) LM35 sensor on EA1 EA1=2587 soit 2.274V
(2.138) LM35 sensor on EA1 EA1=2584 soit 2.271V
(2.138) LM35 sensor on EA1 EA1=2582 soit 2.269V
(2.138) LM35 sensor on EA1 EA1=191 soit 0.168V
(2.136) LM35 sensor on EA1 EA1=188 soit 0.165V
(2.135) LM35 sensor on EA1 EA1=791 soit 0.695V
(2.134) LM35 sensor on EA1 EA1=1612 soit 1.417V
(2.138) LM35 sensor on EA1 EA1=2173 soit 1.910V
(2.136) LM35 sensor on EA1 EA1=2993 soit 2.631V
(2.138) LM35 sensor on EA1 EA1=3674 soit 3.229V
(2.136) LM35 sensor on EA1 EA1=3987 soit 3.504V
(2.136) LM35 sensor on EA1 EA1=3986 soit 3.503V
(2.138) LM35 sensor on EA1 EA1=3968 soit 3.487V


infos et details supplementaires sur ma page web
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Modifié en dernier par paulfjujo le jeu. 26 août 2021 08:19, modifié 2 fois.
Aide toi, le ciel ou FantasPic t'aidera

Test mini OLED SSD1306 20x10mm 128x32 18F27K42
PEDRO
Amateur
Amateur
Messages : 127
Enregistré en : septembre 2015
Localisation : P.A.C.A

#2 Message par PEDRO » dim. 3 janv. 2021 01:09

Bonjour Paulfjujo,

merci pour ce partage, meme si je ne parle pas le C, il y a quelques infos intéressantes dans ton code, notamment pour l'initialisation de cet écran, et j'essaierai de voir si je peux m'en inspirer le jour où je prendrai enfin un peu de temps pour écrire du code pour cet écran qui m'intéresse depuis longtemps.

Quand est-il du code MikroC ?


P.S : il y a 2 images qui ne s'affichent pas sur ta page perso

Test mini OLED SSD1306 20x10mm 128x32 18F27K42
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2589
Âge : 73
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#3 Message par paulfjujo » dim. 3 janv. 2021 11:56

bonjour Pedro et à tous,




Coté MikroC ... c'est OK actuellement, mais qu'en mode I2C Software
je suis en train de reactualiser ma page web à ce sujet pour mettre le projet et code source.
La doc I2C hardware coté MikroC est quasiment abscente..
il faudra peut etre que j'utilise Necto Studio et leur SDK. à la place de mikroC (stand alone).
Pourquoi faire simple quand on peut faire compliqué!

Sinon avec MPLABX IDE et XC8 + MCC !
c'est OK , en I2C1 Hardware
les interruptions doivent etre validés ..pour que l'I2C hardware fonctionne ..
une vrai usine à gaz, cet I2C hardware !
Le projet MPLAB ... réactualisé.

Pedro a écrit :P.S : il y a 2 images qui ne s'affichent pas sur ta page perso

.. rectifié
Aide toi, le ciel ou FantasPic t'aidera

Test mini OLED SSD1306 20x10mm 128x32 18F27K42
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2589
Âge : 73
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#4 Message par paulfjujo » dim. 17 janv. 2021 15:08

Bonjour à tous,


I2C1 Hardware 18F27K42 OK avec RTC DS3231 ...
mais pas moyen avec le mini LCD OLED SSD1306 128x32 .. AUCUN AFFICHAGE
de plus l'I2C1 Hardware OLED interfere avec la RTC3231 qui perd a sa data et heure perturbée ..
ne redevient OK qu'apres une remise à l'heure et non usage de l'OLED ..

Alors que cet OLED est OK en version MikroC I2C1 Software
et OK en version I2C1 Hardware mais sous MPLABX XC8 !!
projet mikroC ci joint

nota : chargement du *.Hex via Pickit3 + MPLAB IPE
P18F27K42_I2C1_Hardw_RTC_3231_ok_OLED_SSD1306_bad.zip


A noter :
:furieux:
MikroC abracadabrant , error 102 à la compilation .. et c'est tout !
Aucun repere pour savoir OU chercher ?
meme en rajoutant une erreur connue .. il ne la trouve pas ..
:mur: passé plusieurs heures ... en vain .
=> Unload appli MikroC Pro 7.60
=> Rechargement application MikroC
=> Recompilation .. message montrant cette fois , une variable declarée 2 fois .. correction .. et c'est BON !
conclusion : attention si le compilo perd les pedales .. on tourne en rond !
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Aide toi, le ciel ou FantasPic t'aidera

Test mini OLED SSD1306 20x10mm 128x32 18F27K42
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2589
Âge : 73
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#5 Message par paulfjujo » mer. 20 janv. 2021 16:12

Aides toi, le ciel ou FantasPic t'aideras

je compte pas trop sur le ciel ... en plus il y a aujourd'hui un vent à décorner les zébus (... :sifflotte: mais j'ai plus soif !)
:cry:
pas d'amateur pour se lancer dans l'I2C HARDWARE de ce PIC ..
Aide toi, le ciel ou FantasPic t'aidera

Test mini OLED SSD1306 20x10mm 128x32 18F27K42
Jérémy
Administrateur du site
Administrateur du site
Messages : 2722
Âge : 44
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#6 Message par Jérémy » mer. 20 janv. 2021 17:44

Désolé Paul, je ne possède pas ce PIC.
D'ailleurs qu'entends tu pas I2C HArdware et software ? Tu entends par la, module interne au pic pour le hardware, et purement logiciel sur n'importe quelle PIN pour le soft ?
C'est en faisant des erreurs, que l'on apprend le mieux !!!

Test mini OLED SSD1306 20x10mm 128x32 18F27K42
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2589
Âge : 73
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#7 Message par paulfjujo » mer. 20 janv. 2021 18:35

bonsoir Jeremy,

Je comprends bien que seuls les "Fantaspiciens" ayant ce MCU , puissent éventuellement m'éclairer . ( .. pas dans les yeux !)

Jérémy a écrit :...
D'ailleurs qu'entends tu pas I2C HArdware et software ? Tu entends par la, module interne au pic pour le hardware, et purement logiciel sur n'importe quelle PIN pour le soft ?


Oui, exactement ...
ce pic a une interface I2C specifique et dédiée pour , ce n'est pas le meme interface hardw que pour le SPI avec un MSSP..
il faut d'ailleurs utiliser les adresses @ device 7 bits au lieu de 8 bits.
il y a meme un acces DMA avec I2C .. et de multiples sources d'interruptions en fonction des bits specifiques I2C !
:!!: une vraie usine à gaz
j'ai essayé de comprendre ..mais là, c'est trop pour ma caboche. (plus assez de neurones)

L'I2C Hardware est OK avec MPLABX!
je pense que MikroC n'est pas abouti avec ce PIC ,
et meme pas du tout avec le 18F27Q10 ! y compris avec le nouveau Necto Studio !!

si on utilise le Software I2C , on revient avec un adressage 8 bits (@ Device + bit R/W)
en fait on fait du bit bang ...

le 18F26K22 utilisant un MSSP , utilisable pour le SPI ou l'I2C , est comparativement TROP facile ...
le 18F27K42 est sensé le remplacer !!!
si je veux continuer à l'utiliser , c'est qu'il est bien plus costaud en ROM et RAM , et aussi moins cher que le 26K22.

je vais laisser décanter ce probleme ... en attendant l'étincelle .
Aide toi, le ciel ou FantasPic t'aidera

Test mini OLED SSD1306 20x10mm 128x32 18F27K42
Jérémy
Administrateur du site
Administrateur du site
Messages : 2722
Âge : 44
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#8 Message par Jérémy » mer. 20 janv. 2021 19:09

Oui des fois l'étincelle jailli des ténèbres . Il faut penser ASM !!!! dehors!!

Courage, je suis sur que ça va venir. Rien qu'en postant sur le forum des fois , je supprime la question car j'ai trouvé la réponse en écrivant ma question :sifflotte:
C'est en faisant des erreurs, que l'on apprend le mieux !!!

Test mini OLED SSD1306 20x10mm 128x32 18F27K42
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2589
Âge : 73
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#9 Message par paulfjujo » mer. 20 janv. 2021 19:19

Jérémy a écrit :... Il faut penser ASM ..


j'attends Temps_X et le STAFF ASM ...pour une demo I2C Hardware.
Aide toi, le ciel ou FantasPic t'aidera

Test mini OLED SSD1306 20x10mm 128x32 18F27K42
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2595
Enregistré en : juillet 2016
Localisation : Terre

#10 Message par Temps-x » jeu. 21 janv. 2021 01:27

Bonsoir Jérémy, paulfjujo, et tout le forum,

paulfjujo a écrit :Source du message j'attends Temps_X et le STAFF ASM ...pour une demo I2C Hardware.


:sifflotte: Mode I²C Bit bang, c'est la solution....

A causse de ce Pic :mad: Je suis obligé de reprendre les cours du chapitre 2 sur I²C de Monsieur Bigonoff :-)

S'il pouvait nous venir en aide, et nous donner un coup de main, ça serait sympa, et un grand honneur pour le Forum.

==> A+
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:


Retourner vers « Langage C »

Qui est en ligne

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