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

probleme effet de bords avec I2C Hardw et RTC3231
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2589
Âge : 73
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#1 Message par paulfjujo » dim. 13 sept. 2020 14:55

bonjour à tous,


je pedale dans la semoule (contrairement à ceux du TDF !) , :sifflotte: quoique , à voir en haut du grand Colombier ..
autour d'un probleme qui ne se manisfeste QUE SI JE LISTE les devices sur le bus I2C1 Hardware du 18F27K42
( qui a un interface I2C specifique et non plus un interface MSSP !)

Avec ma sequence de decouverte des devices
je repere bien 3 devices sur le bus I2C1 Hardw ( RC3=SCL , RC4=SDA)
nota: le LCD 4x20 avec 2 R de 2,7K rappel au VCC sur ses pins SCL et SDA, charge le Bus I2C1


Init I2C1 HARDWARE
Test presence device(s) sur le bus I2C1
Device found at 0x27 soit 39
Device found at 0x57 soit 87
Device found at 0x68 soit 104


#define LCD_ADDR 0x27; // soit 0x4E adresse complet sur 8 bits -> 0X27 adresse device sur 7 bits
#define DS3231_ADDR 0x68 // RTC Board DS3231 adresse 8 bits 0xD0 => 0x68 sur 7 bits
au passage on decouvre aussi l'EEPROM installée sur la RTC BOARD en 0x57 ! non utilisée ici

la gestion du LCD n'est pas affectée ..
mais il n'y a QUE des Ecritures sur le LCD !, pas de lecture.

oops La lecture de la RTC est tres perturbée !


-------- Boucle principale -----------
00/00/00 00H10M34S EA1 (12b)= 4095
00/00/00 00H09M35S EA1 (12b)= 4095
00/00/00 00H09M36S EA1 (12b)= 4095


si je desactive la decouverte des devices , comportement RTC NORMAL
en mettant en commentaire
// #define With_Decouverte_devices
et recompilant le programme

:!: la RTC est alors relue correctement .. OK

Re-Lecture RTC Lecture des registres RTC DS3231
20 09 13 07 14 26 41

ADC_Init_Advanced (1,024V) pour EA1=RA1=LM35DZ
Init Timer0 sur 1 sec


-------- Boucle principale -----------
13/09/20 14H26M44S EA1 (12b)= 4095
13/09/20 14H26M45S EA1 (12b)= 4095
13/09/20 14H26M46S EA1 (12b)= 4095


en ecrivant 0 dans le 1er registre de chaque adresse device
je ne vois pas comment cela peut perturber ensuite la RTC

nata : l'usage de l'I2C harware de ce PIC n'est pas Explicité par MikroE
en particulier la gestion ou pas , de tous les flags liés à l'I2C
pouvant generer des interruptions ( si autorisés par ailleurs)

Bref cette decouverte de device n'est pas tres vitale en soi , mais necessaire , car l'I2C Hw BLOQUE si l'adresse n'est pas reconnue !
contrairement à l'I2C Hw du 18F26K22 !

voici le projet mikroC complet

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

Retourner vers « Langage C »

Qui est en ligne

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