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
LCD I2C
YOUHOUUUUUUUUU !!!!!!
C'est bien la bonne adresse. J'ai réussi a afficher un texte sur mon LCD.
Je vais nettoyé / commenté le code et vous le présenterez avec une petite photo
Trop content. Merci a tous.
@++
C'est bien la bonne adresse. J'ai réussi a afficher un texte sur mon LCD.
Je vais nettoyé / commenté le code et vous le présenterez avec une petite photo
Trop content. Merci a tous.
@++
LCD I2C
- paulfjujo
Expert- Messages : 2597
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
Device sur le bus I2C
Device trouvé at @ FFh ... soit 255
Fin de recherche device
???? ce ne peut pas etre une adresse correcte .. car impaire
d'autant qu'on explore que des adresses paires ( adresse d'ecriture)
Code : Tout sélectionner
for (Adr=32;Adr<254;Adr=Adr+2)
quelle est donc , cette adresse qui marche ?
LCD I2C
En mode bavard (voir plus haut) j'obtiens bien 7E.
Et en mode non bavard j'obtiens le résultat que tu montre ci-dessus.
@++
Et en mode non bavard j'obtiens le résultat que tu montre ci-dessus.
@++
LCD I2C
- paulfjujo
Expert- Messages : 2597
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
Effectivement il y avait un bug !
ici :
bug = double incrementation de Nb !!
j'ai refait un test en mode bavard et non bavard, en rajoutant un module RTC DS1307 ( avec une 24C32!)
sur le bus I2C ...
et j'ai rajouté une init à 0 de la table de stockage des devices trouvés.
Mise à jour Projet mikroC Zipé
ATTENTION AU PIEGE
si , en sus d'une RTC DS1307, on veut utiliser une EEPROm externe , genre 24LC256 ou 24FC1026..
il est probable qu'elle puisse se trouver à la meme adresse que la petite EEPROm 24C32
presente sur le module RTC DS1307 .... et ça fout le boxon !
je me suis fait piégé .. du vécu .
il faut donc decaler l'adresse externe via les pins d'adresse A0,A1,A2.
ici :
Code : Tout sélectionner
else
{
// I2C_Adresses_Devices[Nb++]=dev_address; <-- erreur ici , car Nb++ plus bas !
I2C_Adresses_Devices[Nb]=dev_address;
if(Mode_Bavard>0)
{
UART1_Write_CText(" ... soit ");
ByteToStr (dev_address,CRam1);
UART1_Write_Text(CRam1);
UART1_Write_CText(" Found OK ");
CRLF1();
}
Nb++;
}
bug = double incrementation de Nb !!
j'ai refait un test en mode bavard et non bavard, en rajoutant un module RTC DS1307 ( avec une 24C32!)
sur le bus I2C ...
et j'ai rajouté une init à 0 de la table de stockage des devices trouvés.
Mise à jour Projet mikroC Zipé
Pin RA3 à 0 => mode Bavard désactivé
Device sur le bus I2C
Device trouvé at @ 4Eh ... soit 78
Device trouvé at @ A0h ... soit 160
Device trouvé at @ D0h ... soit 208
Fin de recherche device
Init I2C à 100KHz
Pin RA3 à 1 => mode Bavard ACTIF
I2C Device at @ 20 not found
I2C Device at @ 22 not found
I2C Device at @ 24 not found
I2C Device at @ 26 not found
I2C Device at @ 28 not found
I2C Device at @ 2A not found
I2C Device at @ 2C not found
I2C Device at @ 2E not found
I2C Device at @ 30 not found
I2C Device at @ 32 not found
I2C Device at @ 34 not found
I2C Device at @ 36 not found
I2C Device at @ 38 not found
I2C Device at @ 3A not found
I2C Device at @ 3C not found
I2C Device at @ 3E not found
I2C Device at @ 40 not found
I2C Device at @ 42 not found
I2C Device at @ 44 not found
I2C Device at @ 46 not found
I2C Device at @ 48 not found
I2C Device at @ 4A not found
I2C Device at @ 4C not found
I2C Device at @ 4E ... soit 78 Found OK
I2C Device at @ 50 not found
I2C Device at @ 52 not found
I2C Device at @ 54 not found
I2C Device at @ 56 not found
I2C Device at @ 58 not found
I2C Device at @ 5A not found
I2C Device at @ 5C not found
I2C Device at @ 5E not found
I2C Device at @ 60 not found
I2C Device at @ 62 not found
I2C Device at @ 64 not found
I2C Device at @ 66 not found
I2C Device at @ 68 not found
I2C Device at @ 6A not found
I2C Device at @ 6C not found
I2C Device at @ 6E not found
I2C Device at @ 70 not found
I2C Device at @ 72 not found
I2C Device at @ 74 not found
I2C Device at @ 76 not found
I2C Device at @ 78 not found
I2C Device at @ 7A not found
I2C Device at @ 7C not found
I2C Device at @ 7E not found
I2C Device at @ 80 not found
I2C Device at @ 82 not found
I2C Device at @ 84 not found
I2C Device at @ 86 not found
I2C Device at @ 88 not found
I2C Device at @ 8A not found
I2C Device at @ 8C not found
I2C Device at @ 8E not found
I2C Device at @ 90 not found
I2C Device at @ 92 not found
I2C Device at @ 94 not found
I2C Device at @ 96 not found
I2C Device at @ 98 not found
I2C Device at @ 9A not found
I2C Device at @ 9C not found
I2C Device at @ 9E not found
I2C Device at @ A0 ... soit 160 Found OK
I2C Device at @ A2 not found
I2C Device at @ A4 not found
I2C Device at @ A6 not found
I2C Device at @ A8 not found
I2C Device at @ AA not found
I2C Device at @ AC not found
I2C Device at @ AE not found
I2C Device at @ B0 not found
I2C Device at @ B2 not found
I2C Device at @ B4 not found
I2C Device at @ B6 not found
I2C Device at @ B8 not found
I2C Device at @ BA not found
I2C Device at @ BC not found
I2C Device at @ BE not found
I2C Device at @ C0 not found
I2C Device at @ C2 not found
I2C Device at @ C4 not found
I2C Device at @ C6 not found
I2C Device at @ C8 not found
I2C Device at @ CA not found
I2C Device at @ CC not found
I2C Device at @ CE not found
I2C Device at @ D0 ... soit 208 Found OK
I2C Device at @ D2 not found
I2C Device at @ D4 not found
I2C Device at @ D6 not found
I2C Device at @ D8 not found
I2C Device at @ DA not found
I2C Device at @ DC not found
I2C Device at @ DE not found
I2C Device at @ E0 not found
I2C Device at @ E2 not found
I2C Device at @ E4 not found
I2C Device at @ E6 not found
I2C Device at @ E8 not found
I2C Device at @ EA not found
I2C Device at @ EC not found
I2C Device at @ EE not found
I2C Device at @ F0 not found
I2C Device at @ F2 not found
I2C Device at @ F4 not found
I2C Device at @ F6 not found
I2C Device at @ F8 not found
I2C Device at @ FA not found
I2C Device at @ FC not found
Fin de recherche device
ATTENTION AU PIEGE
si , en sus d'une RTC DS1307, on veut utiliser une EEPROm externe , genre 24LC256 ou 24FC1026..
il est probable qu'elle puisse se trouver à la meme adresse que la petite EEPROm 24C32
presente sur le module RTC DS1307 .... et ça fout le boxon !
je me suis fait piégé .. du vécu .
il faut donc decaler l'adresse externe via les pins d'adresse A0,A1,A2.
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
LCD I2C
merci pour ces modifications. Je vais étudier tout ça. C'est pas un mal du coup grâce à moi tu a remis à jour ton code
@++
@++
LCD I2C
paulfjujo a écrit :ATTENTION AU PIEGE
si , en sus d'une RTC DS1307, on veut utiliser une EEPROm externe , genre 24LC256 ou 24FC1026..
il est probable qu'elle puisse se trouver à la meme adresse que la petite EEPROm 24C32
presente sur le module RTC DS1307 .... et ça fout le boxon !
je me suis fait piégé .. du vécu .
il faut donc decaler l'adresse externe via les pins d'adresse A0,A1,A2.
En effet on pourrait en perdre des cheveux et chercher longtemps. Pourtant ces puces ne portent pas le même non. Mais elles peuvent avoir la même adresse ???
@++
LCD I2C
Une petite photo pour le fun, après toutes ces galères
@++
@++
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
LCD I2C
Bonjour a tout le forum,
Je me suis décidé a replonger dans ce projet qui est d'afficher un texte sur un ecran lcd en i2c.
Comme vous pouvez le voir ci-dessus, j'ai réussi. Mais il y a un hic Forcement
Il s’avère qu'en faite l'affichage sur l’écran est totalement aléatoire. Quand j’alimente la breadbord, parfois l’écran affiche de suite le texte, mais souvent il n'y a rien je doit couper / mettre l'alim entre 3 et 10 voir 15 fois pour que le texte apparait.
Pensez-vous que c'est un problème hardware ou software ?
Ps : toute les infos (code, schéma, édit projet...) sont a retrouver au 1er post.
D'avance merci pour votre aide.
@++
Je me suis décidé a replonger dans ce projet qui est d'afficher un texte sur un ecran lcd en i2c.
Comme vous pouvez le voir ci-dessus, j'ai réussi. Mais il y a un hic Forcement
Il s’avère qu'en faite l'affichage sur l’écran est totalement aléatoire. Quand j’alimente la breadbord, parfois l’écran affiche de suite le texte, mais souvent il n'y a rien je doit couper / mettre l'alim entre 3 et 10 voir 15 fois pour que le texte apparait.
Pensez-vous que c'est un problème hardware ou software ?
Ps : toute les infos (code, schéma, édit projet...) sont a retrouver au 1er post.
D'avance merci pour votre aide.
@++
LCD I2C
Bonjour venom, et tout le forum,
Le gros problème sur un breadboard, c'est les faux contact qui induise des erreurs au moment de la configuration de ton écran LCD.
Je pense que tout vient de là, j'ai dans le passé eu le même problème.
A+
Le gros problème sur un breadboard, c'est les faux contact qui induise des erreurs au moment de la configuration de ton écran LCD.
Je pense que tout vient de là, j'ai dans le passé eu le même problème.
A+
LCD I2C
- paulfjujo
Expert- Messages : 2597
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
bonjour,
la grosse majorité des aleas d'affichage LCD proviennent de delay trop courts.
rajoute un gros delai (1sec) juste apres l'init hardware ..
essaie ensuite de doubler ou quadrupler tous les delais utilisés pour le LCD , surtout dans l'init du LCD.
Quite, ensuite à en reduire certains..
Nota: sur certains LCD , il faut un delais supplementaire de l'ordre de 20 mS
pour positionner le curseur , avant d' y ecrire ensuite du texte .
la grosse majorité des aleas d'affichage LCD proviennent de delay trop courts.
rajoute un gros delai (1sec) juste apres l'init hardware ..
Code : Tout sélectionner
void main() {
ANSEL = 0; // Configure AN pins as digital I/O
ANSELH = 0;
TRISC = 0x00;
PORTC = 0x00;
OSCCON = 0b11110010; // configuration osc interne 32mhz
Delay_ms(1000); // laisser le temps au LCD de s'alimenter correctement
I2C1_Init(100000);
I2C_LCD_Init();
I2C_LCD_Cmd(_LCD_CURSOR_OFF);
I2C_LCD_Cmd(_LCD_CLEAR);
I2C_Lcd_Out(1,1,txt1); // Write text in first row
I2C_Lcd_Out(2,1,txt2); // Write text in second row
while(1) {
}
essaie ensuite de doubler ou quadrupler tous les delais utilisés pour le LCD , surtout dans l'init du LCD.
Quite, ensuite à en reduire certains..
Nota: sur certains LCD , il faut un delais supplementaire de l'ordre de 20 mS
pour positionner le curseur , avant d' y ecrire ensuite du texte .
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 55 invités