Implémentation afficheur oled NHD0420CW en I²C [STM32] - C - Programmation
Marsh Posté le 09-02-2018 à 21:09:42
Mauvaise cat', si un modérateur peut déplacer...
Je suis pas sûr d'avoir compris où est ton problème... Vu ton code tu sembles faire du I2C en pure software, c'est possible mais chiant et inutile si ton µC a un module hardware I2C. Dans ce dernier cas il suffit de lire la doc du µC pour savoir comment faire fonctionner ce module et la doc de l'afficheur pour savoir quoi lui envoyer. Après le mieux c'est de faire une petite bibliothèque avec des fonctions genre effacer_lcd(), afficher_texte() ou semblable pour que l'utilisation soit simple et confortable.
Marsh Posté le 09-02-2018 à 12:46:04
Bonjour,
Je dois réaliser un travail ou l'objectif est d'effectuer le comptage de place de parking, et dans ce module je dois implémenter un afficheur permettant d'afficher tel ou tel message.
Spécification :
Afficheur oled Alphanumérique :
Le module dispose d’un afficheur OLED alphanumérique jaune de quatre lignes de vingt caractères (NHD-0420CW-AY3 de Newhaven Display).
Cet afficheur est connecté sur le bus I²C du microcontrôleur (voir documentation pour le protocole de pilotage).
Je dois donc piloter cette afficheur en I²C, voici la doc :
https://www.newhavendisplay.com/spe [...] CW-AY3.pdf
Sur mon schéma de l'afficheur (on peut voir que toute les sorties qui ont besoin d'être à la masse pour un fonctionnement en I²C sont bien à la masse).
On peut également remarquer que BS0 BS1 et BS2 sont configuré de tel manière à ce quel'I²C soit activé :
J'ai récupérer le code de la doc et j'ai voulue l'implémenter.
Bien évidemment j'utilise des variables non reconnues etc.. J'ai donc demander à mon supérieur la possibilité de récuperer les biblothèques de l'afficheur afin d'appeler les fonctions directement et de m'en servir comme je l'entend, mais voilà il m'a répondu : "tu n'en a pas besoin tu le pilote en I²C", je ne comprend donc pas comment je peut faire pour gérer mon afficheur en I²C ?
Je gère l'I²C sur mon µC STM32F10x de cette manière :
...
Pensez vous que je dois utiliser les fonctions des bibliothèques I²C ?
Je vous avoue être perdue quant à la façon d'aborder cette tâche !
Il y a également toute la partie I2C codé par mon collège :
Merci à vous d'avoir pris le temps, je vous souhaite une excellente journée ! Merci !