Forum: Compiler & IDEs msp430 Anfänger


von alexander Biinder (Gast)


Lesenswert?

Hallo,

Ich möchte einen MSP430f149 mit C programmieren. Kann mir jemand sagen, 
wie ich einen bestimmten Pin auf High oder Low setzen.

Vielen Dank

Alexander

von Thorsten (Gast)


Lesenswert?

Hallo Alexander,

leider kann ich dir (noch) keine Antwort auf deine Frage geben, aber ich 
will auch bald mit einem MSP430F148 etwas machen. Sag doch mal, mit 
welchem Tool du den uC brennst. Benutzt du den JTAG-Adapter von Olimex ? 
Wenn ja, unter welchem Betriebssystem und hast du den selbst nachgebaut 
?

Danke.

Thorsten

von Lanius (Gast)


Lesenswert?

mit dem MSP-GCC mache ich das so:

#define setBit(x,y)    ((x) |=  (y))
#define clearBit(x,y)   ((x) &= ~(y))
#define invBit(x,y)  ((x) = ((x)^(y)))

das sind drei Makros die nur die schreibweise vereinfachen.
dann...

setBit(P2DIR , BIT0 );   // schaltet den Pin auf Ausgang

setBit(P2OUT, BIT0);  // setzt den Pin auf HIGH
clearBit(P2OUT, BIT0);  // setzt den Pin auf LOW
invBit(P2OUT,BIT0);  // invertiert den Pin

@Alexander:

ich benutze einen nachgebauten Olimex-Adapter
unter W98 und Linux, warum?

von alexander Biinder (Gast)


Lesenswert?

Hallo,

ich benüzte von iar system das kickstart set. Es besteht aus einem 
Adapter für den parallelport des PCs und beinhaltet eine Platine und 2 
msp430f149.

Danke schon mal für die Antworten.

Alexander

von Christian Bischoff (Gast)


Lesenswert?

Hallo,

ich benutze den Olimex-Adapter mit dem IAR CSpy unter Win95 mit 
selbstgebauter Hardware (MSP430F149). Mein Hauptproblem ist eher der 
MSP-GCC unter Win95. Nicht jede Version läuft. Werde wohl irgendwann den 
Umstieg zu Linux machen.

Tschau

Christian

von Gerd T. (Gast)


Lesenswert?

Hi,

ich bin auch gerade dabei ein Sytem mit dem MSP430F1121 aufzubauen.

Falls mir jemand eine Tip geben könnte wo ich Infos über eine Software 
SPI finde wäre ich sehr dankbar.
Ich muss diesen Controller verwenden, da ich sehr stromsparend arbeiten 
muss.

MfG
GT

von Christian Bischoff (Gast)


Lesenswert?

Hi,

ich habe auch schon vergebens nach einer Spec für den SPI-Bus gesucht. 
Vielleicht schaust Du Dir einfach Datenblätter von einem SPI-EEPROM oder 
so an. Ich bin mir nicht sicher aber ich glaube das es im Grunde wie ein 
normales Schieberegister funktioniert. Du mußt dann lediglich auf das 
Timing achten. Ich habe soetwas vor ein paar Jahren mit einem 
A/D-Wandler an einem 8051-Derivat gemacht.

Tschau

Christian

von Klaus Sperlich (Gast)


Lesenswert?

Hallo,
meine SoftSPI sieht so aus,

für CLK, DOUT, DIN musst Du dir die passenden
Werte nehmen, je nach dem wie die Leitungen
verdrahtet sind.

long Do_SPI (unsigned long OutVal)
{
  BYTE i=32;
  unsigned long RetVal=0;
  unsigned long  Mask = 0x80000000;

  while (i--)
  {

    P2OUT |= CLK;
    wait (500);
    if (OutVal & Mask)
      P2OUT |= DOUT;
    else
      P2OUT &= ~DOUT;
    wait (500);
    P2OUT &= ~CLK;

    wait (500);
    if (P2IN & DIN)
      RetVal |= Mask;

    Mask >>= 1;
  }
  return (RetVal);
}

Gruß Klaus

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.