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

Fonctions I2C
satinas
Expert
Expert
Messages : 1487
Enregistré en : novembre 2015

#71 Message par satinas » sam. 26 juil. 2025 16:29

Le résumé c'est ça. Le premier bloc c'est ce qui sera dans ta fonction RtcWriteReg() et le second dans ta fonction RtcReadReg().

Start
WriteAddr (Esclave)
WriteAddr (Registre)
WriteData (Donnée)
Stop

Start
WriteAddr (Esclave)
WriteAddr (Registre)
Restart
ReadAddr (Esclave)
ReadData (Donnée)
Stop

Tu étais pourtant bien parti, tu as fait des fonctions bas niveau, maintenant il faut des fonctions en amont qui les exploitent, avec les arguments qui vont bien, voir mon code.

Fonctions I2C
Stefox
Débutant
Débutant
Messages : 63
Enregistré en : juillet 2025

#72 Message par Stefox » sam. 26 juil. 2025 16:36

D'accord, la, j'ai bien compris ce que tu veux que je fasse.

Par contre, je ne comprends pas l'influence que cela aura ? Ça ne va résoudre le souci si ? C'est juste mes fonctions qui vont être imbriquer dans une autre ?

Fonctions I2C
satinas
Expert
Expert
Messages : 1487
Enregistré en : novembre 2015

#73 Message par satinas » sam. 26 juil. 2025 16:43

Généralement on va du haut vers le bas. On lit la doc du composant, on décrit les fonctionnalités que l'on veut, on organise son code en conséquence avec des fonctions de haut niveau et on descend vers le bas avec des fonctions plus élémentaires pour arriver au composant.
Toi tu pars du bas, du composant, et le haut est dans le brouillard :-)
je suis un peu pareil, mais avec le temps j'ai appris à grimper dans le brouillard.
Il n'y a aucune imbrication, là on parle programmation, et je ne suis pas très pédagogue.

De tout façon on en est pas là, on met au point l'I2C (on est dans le bas niveau).

Fonctions I2C
Stefox
Débutant
Débutant
Messages : 63
Enregistré en : juillet 2025

#74 Message par Stefox » sam. 26 juil. 2025 16:52

J'avoue que je n'ai lu la doc du composant que pour savoir son brochage, sa tension et savoir quels sont les registres ^^ Je ne vois pas trop de quoi j'avais besoin d'autres

Puis j'ai regardé la doc microchip pour faire naître la communication I2C et voilà ^^

Je fais peut être pas tout bien, je suis automaticien, j'ai des notions en électronique/programmation électronique, mais c'est loin d'être mon job, j'ai sans aucun doute des manquements, par contre c'est un sujet qui m'intéresse et m'amuse beaucoup :-D

Mais du coup, les 2 fonctions que tu voudrais que je crée, elle appele juste les miennes ? Je ne saisi pas la nuance et ce qu'elle vont apporté en fait :?

Fonctions I2C
satinas
Expert
Expert
Messages : 1487
Enregistré en : novembre 2015

#75 Message par satinas » sam. 26 juil. 2025 16:57

Ne te perds pas, teste l'I2C pour le moment.

Chaque fois que tu vas lire un registre tu vas copier-coller ça, en mettant en dur l'adresse du registre ?

Start
WriteAddr (Esclave)
WriteAddr (Registre)
Restart
ReadAddr (Esclave)
ReadData (Donnée)
Stop

Donc ta fonction équivalente à celle-ci fera 150 lignes au lieu de 10.

Code : Tout sélectionner

//------------------------------------------------------------------------------
bool RtcGet(void)
//------------------------------------------------------------------------------
{
  byte d;
  if (RtcOn) {
    RtcReadByte(0x00, &d); RtcTime.Second   = d;
    RtcReadByte(0x01, &d); RtcTime.Minute   = d;
    RtcReadByte(0x02, &d); RtcTime.Hour     = d & 0x3f;
    RtcReadByte(0x03, &d); RtcTime.DayWeek  = d & 0x07;
    RtcReadByte(0x04, &d); RtcTime.DayMonth = d & 0x3f;
    RtcReadByte(0x05, &d); RtcTime.Month    = d & 0x1f;
    RtcReadByte(0x06, &d); RtcTime.Year     = d;
    return TRUE;
  }
  return FALSE;
}

Fonctions I2C
Stefox
Débutant
Débutant
Messages : 63
Enregistré en : juillet 2025

#76 Message par Stefox » sam. 26 juil. 2025 17:09

Ah oui voilà, on est d'accord, ça règle pas le souci, c'est de l'optimisation simplement ok

Je pensais qu'il y avait un truc qui faisait qu'en réalisant ce que tu me disais allais régler mon souci I2C

On ne se comprenait pas :lol:

Fonctions I2C
satinas
Expert
Expert
Messages : 1487
Enregistré en : novembre 2015

#77 Message par satinas » sam. 26 juil. 2025 17:11

Ben oui, teste mon programme et arrête de vouloir le modifier :-)

Fonctions I2C
Claudius
Avatar de l’utilisateur
Passionné
Passionné
Messages : 262
Âge : 70
Enregistré en : septembre 2015
Contact :

#78 Message par Claudius » sam. 26 juil. 2025 19:10

Bonjour,

Stefox a écrit:
------
J'avoue que je n'ai lu la doc du composant pour savoir son brochage, sa tension et savoir quels sont les registres
Je ne vois pas trop de quoi j'avais besoin d'autres

Puis j'ai regardé la doc Microchip pour faire naître la communication I2C

Je fais peut être pas tout bien, je suis automaticien, j'ai des notions en électronique/programmation électronique, mais c'est loin d'être mon job, j'ai sans aucun doute des manquements, par contre c'est un sujet qui m'intéresse et m'amuse beaucoup

------

Mais on rêve, comme si la solution venait d'une divinité...

Je commence à comprendre le niveau 0 de la culture scientifique de la France et en particulier dans le domaine de l'Electronique/Informatique embarquée

J'ai une admiration pour le seul contributeur satinas pour sa patience, mais je crains qu'il craque en face de propos totalement inhérents et absolument non cartésiens...

A suivre...

Fonctions I2C
satinas
Expert
Expert
Messages : 1487
Enregistré en : novembre 2015

#79 Message par satinas » sam. 26 juil. 2025 19:56

Merci Claudius, je n'ai plus la capacité de travailler sur des projets, et il faut bien que je m'occupe. Comme la détermination est toujours là, il n'est pas question que je le lâche avec une communication I2C foireuse. Pour le reste il devra s'en sortir tout seul. Tu vas me le décourager :-)

Fonctions I2C
Stefox
Débutant
Débutant
Messages : 63
Enregistré en : juillet 2025

#80 Message par Stefox » sam. 26 juil. 2025 20:03

Bonjour Claudius,

Ce sera probablement la seule réponse que je prendrai le temps de te faire dans de telles conditions.

Avec tout le respect que je te dois, que ce soit ici ou sur d'autres forums où j’ai pu, malheureusement, te croiser, tes interventions sont souvent teintées de condescendance, de jugements gratuits, d'arrogance et surtout d'une stérilité affligeante. Une vraie performance.

Ce type de commentaire ne sert à rien. Dénigrer les autres, moi y compris, ou même la France (ce qui est hors sujet, d'ailleurs, et pour ta gouverne, je n’en fais pas partie – eh oui, d’autres contrées ont aussi accès aux forums :wink: ), ne fait pas avancer les choses.

Satinas est peut-être très patient, peut-être qu’il aime transmettre/aider, et je lui suis sincèrement infiniment reconnaissant de prendre le temps d’expliquer aux plus jeunes et aux moins expérimentés.

Mais comme je l’ai déjà dit, ce n’est pas mon métier. C’est une passion que je développe seul, dans mon coin, avec mes erreurs et mes réussites. Et non, la solution ne vient pas d’une divinité – l’électronique embarquée, comme bien d'autres domaines, n’est pas triviale. Je n’ai pas toutes les compétences ni toutes les connaissances, mais j’ai l’envie d’apprendre. Donc oui, il y a surement des manquements, ce n'est pas pour autant que cela te donne le droit d'être désobligeant.

Je pense que ce genre de commentaires détruit l’envie d’apprendre, de poser des questions, et au final, pousseraient certains à abandonner.

Peux-tu m’aider ? M’apporter un conseil ? Gentiment ? Avec pédagogie et bienveillance ? Si oui, alors je serai ravi d’apprendre de ton expérience.
Sinon, inutile de contribuer à mes posts si c’est pour y apporter ce type de ton : cela n’apporte rien de technique, de méthodologique ou de constructif à la résolution du problème.

Comme tu dirais... à suivre :wink:

Merci malgré tout pour ta contribution, je te souhaite une excellente soirée et une bonne continuation.
Modifié en dernier par Stefox le sam. 26 juil. 2025 23:35, modifié 1 fois.


Retourner vers « Langage C »

Qui est en ligne

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