Pages: [1]   Go Down
Author Topic: [Résolu] Modifier code suivant carte Arduino  (Read 548 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Full Member
***
Karma: 0
Posts: 152
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,

Est il possible de faire un test en debut de programme ( ou lors de la compilation) pour modifier des constantes de broches suivant la carte sur la carte ou on envoie le code. Je ne sais pas trop comment expliquer et le vocabulaire me dépasse un peu ^^

En gros, un truc du style :

If( Carte == Arduino UNO){

const int BP1 = 2;

}else if ( Carte == Arduino MEGA){

const int BP1 = 22;

}

Tout ça de le but de ne pas à avoir à modifier le code suivant la carte.

Je ne sais pas si cela et possible ou si ma question est ridicule ...

Amicalement
Trigger
« Last Edit: January 20, 2013, 12:36:51 pm by trigger » Logged

Ile-de-France (92 sud), France
Offline Offline
Edison Member
*
Karma: 24
Posts: 2055
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Non, ca ne marchera pas car il y a déjà des parties des libs Arduino qui dépendent du type de carte. Tu ne peut pas faire un seul HEX qui marchera sur toutes les cartes.
Mais tu peux faire un seul INO qui - une fois comiplé pourla bonne carte - marchera sur la bonne carte

Corolaire : Il faut le faire à la compilation avec des #if

Par exemple :
Code:
#if defined(__AVR_ATmega128__)
// ici ce qu'il faut faire sur une vielle Arduino avec un ATmeg128
#elif defined(__AVR_ATmega328__)
// ici ce qu'il faut faire sur une UNO our Duemilanove avec ATmega328P
#elif defined(__AVR_ATmega32U4__)
// par ici pour la Leonardo
#elif defined(__AVR_ATmega2560__)
// et pour un mega2560
#else
#error *** ATTENTION Carte non définie
#endif
Logged

Barbuduino: Arduino sur Breadboard & VinciDuino: Clone Leonardo // WR703: Mini-routeur hacké // LauchPad MSP430 et Stellaris // Panda II Arduino-like .NetMF sous VisualC#
RTFC: Read That F.....g Code / RTFD: Read That F.....g Doc / RTFDS: Read That F.....g DataSheet / RTFS: Read That F.....g Schematic / Wot da ya wanna D.I.Y. today ?

Offline Offline
Full Member
***
Karma: 0
Posts: 152
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Merci pour la réponse smiley

Donc si j'ai bien compris on peux faire un .pde comportant le code que tu as donné et le compilateur fait le reste ?

Désolé je ne maitrise pas du tout le vocabulaire ...
Logged

Ile-de-France (92 sud), France
Offline Offline
Edison Member
*
Karma: 24
Posts: 2055
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Oui, un INO (PDE c'est finit maintenant, faut passer à la v1.0.x et les sketches ont l'extension INO)

Suivant que dans lIDE on choisit "Arduino UNO" ou "Arduino Mega2560", ... le bon code sera utilisé.
Logged

Barbuduino: Arduino sur Breadboard & VinciDuino: Clone Leonardo // WR703: Mini-routeur hacké // LauchPad MSP430 et Stellaris // Panda II Arduino-like .NetMF sous VisualC#
RTFC: Read That F.....g Code / RTFD: Read That F.....g Doc / RTFDS: Read That F.....g DataSheet / RTFS: Read That F.....g Schematic / Wot da ya wanna D.I.Y. today ?

Offline Offline
Full Member
***
Karma: 0
Posts: 152
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Pardons je ne suis toujours pas passé à la version 1.0.x , honte à moi :S

En tous cas merci beaucoup pour ces explcations !

Amicalement,
Trigger
Logged

France
Offline Offline
Faraday Member
**
Karma: 55
Posts: 5347
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

@Barbudor: tu as fait une petite erreur dans ton define :
Code:
__AVR_ATmega168__
pas "128" smiley-wink

Pardons je ne suis toujours pas passé à la version 1.0.x , honte à moi :S
Il serait grand temps de migrer smiley-wink
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Ile-de-France (92 sud), France
Offline Offline
Edison Member
*
Karma: 24
Posts: 2055
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

@Barbudor: tu as fait une petite erreur dans ton define :
Code:
__AVR_ATmega168__
pas "128" smiley-wink

Barbudor, le roi du copier-merder smiley-lol
Logged

Barbuduino: Arduino sur Breadboard & VinciDuino: Clone Leonardo // WR703: Mini-routeur hacké // LauchPad MSP430 et Stellaris // Panda II Arduino-like .NetMF sous VisualC#
RTFC: Read That F.....g Code / RTFD: Read That F.....g Doc / RTFDS: Read That F.....g DataSheet / RTFS: Read That F.....g Schematic / Wot da ya wanna D.I.Y. today ?

France
Offline Offline
Faraday Member
**
Karma: 55
Posts: 5347
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Barbudor, le roi du copier-merder smiley-lol
Pas totalement merdé puisse que l'ATmega128 existe, mais c'est pas tout à fait le même CI smiley-mr-green
http://www.atmel.com/devices/atmega128.aspx
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Pages: [1]   Go Up
Jump to: