Effectivement, le compilateur de l'IDE de TI et MSPGCC4 sous linux (et os X) ne possèdent pas exactement le même comportement (certainement une histoire de librairies).
Et donc, nécessitent un code source légèrement différent. Quel bonheur intense
Après une rapide recherche sur google, je suis tombé sur ces pages
http://mspgcc.sourceforge.net/manual/x918.html et
http://justinstech.org/2010/09/msp430-coding-interrupts-for-mspgcc/ .
Le PRAGMA serait donc, avec MSPGG, remplacé par
interrupt (INTERRUPT_VECTOR) IntServiceRoutine(void)
{
/* Any normal C code */
}
Un peu plus complet :
/*WDT interval timer- code based on msp430 examples*/
//compiler=mspgcc
#include<msp430x22x2.h>
#include<signal.h> //interrupt service routine
#include <io.h> //usually included on msp430 header, but for sfr register access.
void main(void) {
WDTCTL = WDT_MDLY_32; //~30mS intervals
P1DIR |=BIT1;
IE1 |= WDTIE; //enable interrupt
_BIS_SR(LPM0_bits + GIE); //not low power mode and enable interrupts
}//end of main
//interrupt service routine
interrupt(WDT_VECTOR) watchdog_timer(void)
{
P1OUT ^= BIT1;
}//end of interrupt
Après un coup de lecture plus poussé, si tu utilises MSPGC uniarch, il semble que ça sera encore différent.
Vous comprendrez aisément que je n'ai pas spécialement envie de passer mon temps à chercher et trouver la manière dont il faut coder mes tutos pour tous les compilateurs existants…
Je vais m'en tenir à CCS et éventuellement MSPGCC si je me décide à m'y mettre (enfant gâté, je suis habitué aux IDE où on fait tout à la souris, vi/vim/nano etc. c'est un choc brutal pour moi
).
pushButton.c:55:6: warning: return type of ‘main’ is not ‘int’
A ce sujet, je suis surpris tu peux peut-être envisager d'utiliser
int main(void)
avec un
return 0;
à la fin de ta boucle main.
Au fait, Taralom, pourrais-tu nous dire comment tu es arrivé sur ce forum dédié à l'arcade pour des tutos de MSP430?
(puis éventuellement faire une petit post de présentation
ici )
Et au sujet du 4ème tuto, il sera en attente jusqu'à ce que j'aie réussi à faire mon petit interpréteur SNES, désolé.