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
Probleme avec 16F1619 I2C Hw OLED 128x32 (Résolu)
- paulfjujo
Expert- Messages : 2589
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
Bonjour à tous
Mes meileurs voeux de Santé pour cette nouvelle année 2020
pour etre en forme et reussir vos projets.
Je commence mal avec ce 16F1619
Impossible de faire reconnaitre la presence de mon mini LCD OLED 128x32 sur le bus I2C (Hardw)
(Nota : c'est pareil avec Softw I2C )
le corps du programme est le meme que celui que j'ai utilisé avec mon 18F26K22 ... qui va bien !
mais la particularité de ce 16F est le mode PPS pour les PINs
Je pense avoir correctement configuré le PPS .
L'UART est OK
J'ai bien les signaux sur SCL et SDA sur le bus I2C ...
MAIS je trouve le bit STOP , à plus de 6mS apres le START bit et 8 bits datas pour l'adresse ... PAS BIEN !
Le bit ACK semble etre present , mais on reconnu par l'Analyser comme tel .. d'autant qu'il n'est pas suivi de la remontée
du SCL et pas de STOP accolé.
J'ai posé le probleme sur MikroC forum ...
Si l'un de vous peut y jeter un oeil .. je ne sais pas si c'est un bug ou une erreur Neuronique de ma part.
Mes meileurs voeux de Santé pour cette nouvelle année 2020
pour etre en forme et reussir vos projets.
Je commence mal avec ce 16F1619
Impossible de faire reconnaitre la presence de mon mini LCD OLED 128x32 sur le bus I2C (Hardw)
(Nota : c'est pareil avec Softw I2C )
le corps du programme est le meme que celui que j'ai utilisé avec mon 18F26K22 ... qui va bien !
mais la particularité de ce 16F est le mode PPS pour les PINs
Je pense avoir correctement configuré le PPS .
L'UART est OK
J'ai bien les signaux sur SCL et SDA sur le bus I2C ...
MAIS je trouve le bit STOP , à plus de 6mS apres le START bit et 8 bits datas pour l'adresse ... PAS BIEN !
Le bit ACK semble etre present , mais on reconnu par l'Analyser comme tel .. d'autant qu'il n'est pas suivi de la remontée
du SCL et pas de STOP accolé.
J'ai posé le probleme sur MikroC forum ...
Si l'un de vous peut y jeter un oeil .. je ne sais pas si c'est un bug ou une erreur Neuronique de ma part.
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Modifié en dernier par paulfjujo le jeu. 23 janv. 2020 09:37, modifié 1 fois.
Probleme avec 16F1619 I2C Hw OLED 128x32
-
Jérémy
Administrateur du site- Messages : 2722
- Âge : 44
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
Bonsoir à tous,
Je ne sais pas si cela va t'aider :
les Résistances de tirage font entre 3.3K et 10K ? ( classiquement 4.7K)
Sur un autre PIC voici ma séquence de déverrouillage du PPS, elle pourrait t'inspirée pense a stopper les INT au départ:
Tu peux également changer l'ordre des initialisation et reconfigurer l'OSC en dernier, j'ai rencontré une fois des problèmes de ce genre. Genre les librairies qui te change un petit détail dans la conf.
Je ne sais pas si cela va t'aider :
les Résistances de tirage font entre 3.3K et 10K ? ( classiquement 4.7K)
Sur un autre PIC voici ma séquence de déverrouillage du PPS, elle pourrait t'inspirée pense a stopper les INT au départ:
Code : Tout sélectionner
//--------------------------- PPS --------------------------------------------------
// Séquence de déverouillage des PPS page 218 de la DS
INTCON.GIE = 0; // On désactive les INT
Unlock_IOLOCK(); // On deverouille les PPS
RX1PPS = 0x17 ; // RC7->EUSART1:RX1;
RC6PPS = 0x09; // RC6->EUSART1:TX1;
RX2PPS = 0x0F; // RB7->EUSART2:RX2;
RB5PPS = 0x0B; // RB5->EUSART2:TX2;
Lock_IOLOCK(); // On verouille les PPS
Tu peux également changer l'ordre des initialisation et reconfigurer l'OSC en dernier, j'ai rencontré une fois des problèmes de ce genre. Genre les librairies qui te change un petit détail dans la conf.
Probleme avec 16F1619 I2C Hw OLED 128x32
- paulfjujo
Expert- Messages : 2589
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
bonsoir Jeremy,
Bonne Année 2020 , la santé et tout le toutim
et un maximum d'echanges et de nouveaux participants sur Fantaspic
merçi de ton support
Je n'ai qu'un seul UART sur ce 16F
et de ce coté tout va bien ..
j'ai verifie via MCC MPLABX que ma config PPS etait OK ..
c'est coté I2C que ça gargouille .. avec le bit ACK/Nack et le bit stop.
je me mefie de MikroC avec les changements de regles sur l'usage de l'adresse device
soit passée en 8 bits comme sur le 18F26K22 , soit en 7 bits comme sur le 16F1847
mais j'ai testé les 2 cas d'adresse 0x3C (7 bits adresse device) ou 0x78 (8bits =adresse device +R/W bit)..
et la gestion I2C completement differente sur le 16F1847 .. mais rien n'est specifié pour le 16F1619
..à suivre
Bonne Année 2020 , la santé et tout le toutim
et un maximum d'echanges et de nouveaux participants sur Fantaspic
merçi de ton support
Je n'ai qu'un seul UART sur ce 16F
et de ce coté tout va bien ..
j'ai verifie via MCC MPLABX que ma config PPS etait OK ..
c'est coté I2C que ça gargouille .. avec le bit ACK/Nack et le bit stop.
je me mefie de MikroC avec les changements de regles sur l'usage de l'adresse device
soit passée en 8 bits comme sur le 18F26K22 , soit en 7 bits comme sur le 16F1847
mais j'ai testé les 2 cas d'adresse 0x3C (7 bits adresse device) ou 0x78 (8bits =adresse device +R/W bit)..
et la gestion I2C completement differente sur le 16F1847 .. mais rien n'est specifié pour le 16F1619
..à suivre
Probleme avec 16F1619 I2C Hw OLED 128x32
- paulfjujo
Expert- Messages : 2589
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
bonjour à tous,
Presque 20 j plus tard .. aucun avancement
Avec MPLABX , ça ne fonctionne pas non plus !
mes derniers tests avec microC montre un semblant de ACK (large de 400nS !)
qui repond à une adresse 7 bits établie sur 8 bits , au lieu de 7 bits +R/W
j'envoie 0x3C au lieu de 0x78 sur l'appli basée 18F26K22..
mais de toute façon je n'ai pas un VRAI "ACK" ..
ce MCU en 8/14/20 Pin , de plus en PPS reserve un peu trop de surprise...
J'ai reposté mon probleme sur MikroC
qui d'ailleurs oublie que l'affectation PPS change en fonction du Boitier MCU .. vu pour l'UART ..
au cours de mes test j'ai pu decouvir la (NON) fonctionalité de I2C1_SetTimeoutCallback(2, I2C1_TimeoutCallback);
en gros, puisque c'est vide , c'est une tempo entre le dernier bit sensé fournir le ACK ou NAK et le bit de stop
Encore faudrait-il savoir quoi mettre dans cette fonction ?
L'absence de ACK ne semble pas y etre traitée
Presque 20 j plus tard .. aucun avancement
Avec MPLABX , ça ne fonctionne pas non plus !
mes derniers tests avec microC montre un semblant de ACK (large de 400nS !)
qui repond à une adresse 7 bits établie sur 8 bits , au lieu de 7 bits +R/W
j'envoie 0x3C au lieu de 0x78 sur l'appli basée 18F26K22..
mais de toute façon je n'ai pas un VRAI "ACK" ..
ce MCU en 8/14/20 Pin , de plus en PPS reserve un peu trop de surprise...
J'ai reposté mon probleme sur MikroC
qui d'ailleurs oublie que l'affectation PPS change en fonction du Boitier MCU .. vu pour l'UART ..
au cours de mes test j'ai pu decouvir la (NON) fonctionalité de I2C1_SetTimeoutCallback(2, I2C1_TimeoutCallback);
Code : Tout sélectionner
I2C1_Remappable_Init(400000);
// set timeout period and callback function @Fosc=16MHz
// timeout=2000 => 9 à 13mS ??
// timeout =200 => 1,3mS
// timeout =50 => 366µS
// timeout=20 => 170µS
// timeout=2 => 14.2µS
// timeout=1 => 7µS
// Delai entre AC/Nack et bit de STOP
I2C1_SetTimeoutCallback(2, I2C1_TimeoutCallback);
en gros, puisque c'est vide , c'est une tempo entre le dernier bit sensé fournir le ACK ou NAK et le bit de stop
Encore faudrait-il savoir quoi mettre dans cette fonction ?
L'absence de ACK ne semble pas y etre traitée
Code : Tout sélectionner
void I2C1_TimeoutCallback(char errorCode) {
if (errorCode == _I2C_TIMEOUT_RD) {
// do something if timeout is caused during read
}
if (errorCode == _I2C_TIMEOUT_WR) {
// do something if timeout is caused during write
}
if (errorCode == _I2C_TIMEOUT_START) {
// do something if timeout is caused during start
}
if (errorCode == _I2C_TIMEOUT_REPEATED_START) {
// do something if timeout is caused during repeated start
}
}
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Probleme avec 16F1619 I2C Hw OLED 128x32
- paulfjujo
Expert- Messages : 2589
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
SOLVED !
probleme du a une microcoupure intempestive du fil entre la sortie sortie PIC (sur breadboard) SDA et Pin afficheur OLED
=> pas de retour Device -> PIC
que de temps perdu pour cette connerie.
de plus ça m'était déja arrivé !
on ne soupconne pas un fil neuf de 10 cm ! MAIS SI, IL LE FAUT
saleté de fil dupont ! made in RPC
je recois bien le ACK ave cl'adresse 0x78 !
au fait, comment on marque un Post SOLVED ?
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Probleme avec 16F1619 I2C Hw OLED 128x32
Bonjour paulfjujo et bonjour à tous.
Arf... En effet voilà une panne pas évidente a soupçonné au premier abord. (Avec du matos neuf par dessus le marché)
Tu dois te rendre au premier post et cliquer sur l'icône en haut a droite
@++
Arf... En effet voilà une panne pas évidente a soupçonné au premier abord. (Avec du matos neuf par dessus le marché)
paulfjujo a écrit :comment on marque un Post SOLVED
Tu dois te rendre au premier post et cliquer sur l'icône en haut a droite
@++
Probleme avec 16F1619 I2C Hw OLED 128x32
-
Jérémy
Administrateur du site- Messages : 2722
- Âge : 44
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
venom a écrit :Source du message Tu dois te rendre au premier post et cliquer sur l'icône en haut a droite
Parfait et merci Venom ! LE but est de modifier ton titre .
Panne récurrente mais qu'on oublie souvent ... hhalala les bread board !
Bravo pour ta perséverence
Probleme avec 16F1619 I2C Hw OLED 128x32
- paulfjujo
Expert- Messages : 2589
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
bonjour à tous,
Pour limiter ce genre de deboire, je vais m'equiper d'une carte Curiosity DM 164137 ( qui comporte aussi un chargeur/debuger sur USB)
et permet de tester des PIC DIP8,14 et 20
dont ce 16F1619
et de meme
1 carte Curiosity nano 18F47Q10 famille qui va remplacer les 18Fx6K22
une carte qui comprte aussi un chargeur et un debugger pour 13,50e ( promo jusqu'au 31/01/2020)
j'avais deja fait une carte de base circuit imprimé pour le 18F26K22
déja plus pratique qu'une breadboard
neanmoins utilise aussi des "fils dupont" pour les liaisons aux interfaces externe (RTC,OLED ,..)
mais maintenant J'EN VAUT DEUX !
un petit detail : mes fils dupont concernés avaient été commandés en FRANCE
10 fils 10cm M-M et 10 fils 10cm F-F pour 3,80€ !
bien plus cher que si commandés en RPC .. et AUCUNE GARANTIE de plus
Resolution pour 2020 :
maintenant je vais tester auparavant tous mes fils avec mon "Ohmetre à pile" = une lampe de poche avec pile plate de 4,5V
et ampoule avec 2 bornes pour fiche bannane montées aux bornes de l'interrupteur.
bien plus fiable que l'ohmetre (multimetre lectronique) ou il circule trop peu de courant.
et une ampoule qui s'allume c'est parlant
* ne pas utiliser in-situ du montage! car Risky pour le MCU
Pour limiter ce genre de deboire, je vais m'equiper d'une carte Curiosity DM 164137 ( qui comporte aussi un chargeur/debuger sur USB)
et permet de tester des PIC DIP8,14 et 20
dont ce 16F1619
et de meme
1 carte Curiosity nano 18F47Q10 famille qui va remplacer les 18Fx6K22
une carte qui comprte aussi un chargeur et un debugger pour 13,50e ( promo jusqu'au 31/01/2020)
j'avais deja fait une carte de base circuit imprimé pour le 18F26K22
déja plus pratique qu'une breadboard
neanmoins utilise aussi des "fils dupont" pour les liaisons aux interfaces externe (RTC,OLED ,..)
mais maintenant J'EN VAUT DEUX !
un petit detail : mes fils dupont concernés avaient été commandés en FRANCE
10 fils 10cm M-M et 10 fils 10cm F-F pour 3,80€ !
bien plus cher que si commandés en RPC .. et AUCUNE GARANTIE de plus
Resolution pour 2020 :
maintenant je vais tester auparavant tous mes fils avec mon "Ohmetre à pile" = une lampe de poche avec pile plate de 4,5V
et ampoule avec 2 bornes pour fiche bannane montées aux bornes de l'interrupteur.
bien plus fiable que l'ohmetre (multimetre lectronique) ou il circule trop peu de courant.
et une ampoule qui s'allume c'est parlant
* ne pas utiliser in-situ du montage! car Risky pour le MCU
Probleme avec 16F1619 I2C Hw OLED 128x32 (Résolu)
hum... pas bête un petit testeur de fil avec une led
Je pense que je vais te piquer l’idée.
@++
Je pense que je vais te piquer l’idée.
@++
Probleme avec 16F1619 I2C Hw OLED 128x32 (Résolu)
- paulfjujo
Expert- Messages : 2589
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
venom a écrit ::roll: hum... pas bête un petit testeur de fil avec une led
Je pense que je vais te piquer l’idée.
@++
C'est vrai que la led est à la page , mais
j'ai gardé le principe avec une ampoule (la vielle ampoule à incandescence )
car une led est unidirectionnelle et presente un seuil de > 1V ,
et avec le couple pile plate 4,5V + ampoule => le courant de test est > 100mA.
donc detection facile d'une resistance dans une connection : sertissage pin ou fil lui meme..
à noter la tres faible section de fil cuivre dans ces "fils dupont" !
je ne sais pas pourquoi les vendeurs RPC les ont nommés ainsi .. fil pour faire un pont ?
mais je connais UN PONT TROP LOIN , ça fini mal.
sinon, il y avait ceci, à l'oreille !
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 36 invités