Parcourir ce sujet :
1 Utilisateur(s) anonymes
Re: Questions générales C |
||
---|---|---|
Pilier de la communauté
![]() ![]() Inscrit:
23/10/2005 11:40 De Aix les Bains (73)
Messages:
1943
![]() |
Autant enfoncer les clous et reformuler...
Dinastar doit avoir les neurones en feu à faire le tri entre le nouveau, le compliqué qui ne l'est pas et le reste ! Je m’appuie sur ce que tu dis parce que mes bases à moi ne sont pas forcément très saines...
Posté le : 03/03/2016 09:38
|
|
Mieux vaut marcher dans la bonne direction que courir dans la mauvaise
|
||
![]() |
Re: Questions générales C |
||
---|---|---|
Accro
![]() ![]() Inscrit:
28/09/2005 14:02 De Catalunya (66)
Messages:
581
![]() |
Ok c'est compris.
C'est juste que j'ai toujours l'allure de l'asm en tête et il suffit de faire :
ds_bus equ PTC
Donc
#define PTAD_PTAD0 LED
Posté le : 03/03/2016 10:59
|
|
Les octets s'envolent, les écrits restent !
|
||
![]() |
Re: Questions générales C |
||
---|---|---|
Pilier de la communauté
![]() ![]() Inscrit:
23/10/2005 11:40 De Aix les Bains (73)
Messages:
1943
![]() |
classiquement dans un .h
tu peux en créer 500000 si tu veux, avec un nom parlant tu mets le define dans le .h puis dans les fichiers .c où tu as besoin de ce define (eux aussi tu peux en créer 50000) tu mets au début du fichier
#include "Lefichier.h"
dans ton application tu avoir par exemple un fichier 1wire.c avec dedans les fonctions propres au 1wire un fichier 1wire.h avec le prototype des fonctions de 1wire.c qui seront utilisées autrepart et les defines utilisés dans les fonctions 1wire un fichier DS1258.c qui appelle 1wire.h et qui a des fonctions pour parler au DS1258 qui elle même utilisent les fonctions de 1wire.c un fichier DS1258.h avec le prototype des fonctions de DS1258.c qui seront utilisées dans l'application pricipale un fichier GestionPoele.c et son .h ou il y aura la "stratégie" de gestion du poele et qui fera appel à DS1258.h pour les mesures de température, actionneurs.h pour gérer tes relais, afficheur.h pour mettre à jour l'afficheur etc
Posté le : 03/03/2016 11:30
|
|
Mieux vaut marcher dans la bonne direction que courir dans la mauvaise
|
||
![]() |
Re: Questions générales C |
||
---|---|---|
Accro
![]() ![]() Inscrit:
28/09/2005 14:02 De Catalunya (66)
Messages:
581
![]() |
Mmmmm tout cela commence à devenir très clair !
Posté le : 03/03/2016 15:01
|
|
Les octets s'envolent, les écrits restent !
|
||
![]() |
Re: Questions générales C |
||
---|---|---|
Accro
![]() ![]() Inscrit:
28/09/2005 14:02 De Catalunya (66)
Messages:
581
![]() |
Bonjour à tous !
Y'a un truc que je n'arrive pas à faire. En gros, c'est l'appel d'une fonction avec arguments, et contenant elle même plusieurs fonctions avec argument également. Je vous explique ; Admettons : J'ai 3 fichiers C : - I2C.c -> le driver - 24AA02.c -> les routines pour lire et écrire dans cette EEPROM I2C - Et mon main.c - Fichier I2C.c -> contient les fonctions de bas niveau
//I2C Module ON/OFF
- Et maintenant, mon fichier 24AA02.c et dans lequel je dois mettre mes routines de lecture/écriture pour ce composant Pour l'exemple :
void SendData(U8 slave_adress, U8 adress, U8 data)
Comment mettre les valeurs de slave_adress, adress, data, dans l'orde dans la fonction qui se répète void I2C_OUT(unsigned char j); ??? Comme cela, dans mon main(), je mettrai par exemple :
U8 slave_adress = 0xB1;
Ou alors, je n'emprunte pas le bon chemin ...
Posté le : 14/03/2016 17:05
|
|
Les octets s'envolent, les écrits restent !
|
||
![]() |
Re: Questions générales C |
||
---|---|---|
Pilier de la communauté
![]() ![]() Inscrit:
23/10/2005 11:40 De Aix les Bains (73)
Messages:
1943
![]() |
void SendData(U8 slave_adress, U8 adress, U8 data)
Posté le : 14/03/2016 18:23
|
|
Mieux vaut marcher dans la bonne direction que courir dans la mauvaise
|
||
![]() |
Re: Questions générales C |
||
---|---|---|
Accro
![]() ![]() Inscrit:
28/09/2005 14:02 De Catalunya (66)
Messages:
581
![]() |
Si t'as très bien compris !
Ben voilà ça a l'air tout simple, et je savais que j'allais passer pour un débutant ![]()
Posté le : 14/03/2016 18:54
|
|
Les octets s'envolent, les écrits restent !
|
||
![]() |
Re: Questions générales C |
||
---|---|---|
Pilier de la communauté
![]() ![]() Inscrit:
27/09/2005 18:07 De Metz
Messages:
1354
![]() |
void SendData(U8 slave_adress, U8 adress, U8 data)
Le seul valable est celui placé devant SendData. mettre un type devant un nom de fonction n'est demandé que lors de la déclaration (son entête uniquement) ou de la définition d'une fonction (son entête et son contenu) L'appel d'une fonction se fait uniquement en donnant le nom de la fonction suivi du nom ou de la valeur des paramètres entre parenthèses.
Posté le : 14/03/2016 20:35
|
|
![]() |
Re: Questions générales C |
||
---|---|---|
Accro
![]() ![]() Inscrit:
28/09/2005 14:02 De Catalunya (66)
Messages:
581
![]() |
Bien vu Jacques,
Belle erreur, mais c'est une erreur d'écriture et de copier/coller, si vous permettez, je remet tout ça comme il faut en suivant, et pour éviter toute confusion de compréhension. Pffff quel bourricot suis-je ...
Posté le : 14/03/2016 20:49
|
|
Les octets s'envolent, les écrits restent !
|
||
![]() |
Re: Questions générales C |
||
---|---|---|
Accro
![]() ![]() Inscrit:
28/09/2005 14:02 De Catalunya (66)
Messages:
581
![]() |
Correction de la solution :
void SendData(U8 slave_adress, U8 adress, U8 data)
Posté le : 14/03/2016 20:53
|
|
Les octets s'envolent, les écrits restent !
|
||
![]() |
Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.