Forum: Mikrocontroller und Digitale Elektronik MSP430F2013 Datenübertragung


von Dirk (Gast)


Lesenswert?

Hallo, bin neu und möchte mir ein kleines PRG erstellen.
Leider habe ich keine Durchblick weder ASM, C noch MSP430F2013.

Was soll das PRG können.

- 200mal pro sec. den AD-Wandler abfragen
( später mal höchtes Gain)

Unterprogramm: Variable übergeben
- Serielle Ausgabe über einem Pin( zur Masse), Kabel ca. 2m

  'H' und 'L' Impulspausen codiert:

  I_mpulslänge 1µSec
  P_ausenlänge 2µSec

  Impulslänge H='IP'  (3µSec)
  Impulslänge L='IPP' (5µSec)

Ein Start 'H' und ein End 'H',
also 18 Impulse mit unterschiedlichen Pausen als Information


- warten bis neue Wandlung

Const
- Impulslänge
- Pausenlänge
-----
später: Erkennen ob 'Lose' Kontagte, wahrscheinlich Schwellwert Rauschen

Kann mit irgendjemand Tips geben:

Würde gerne mit der Datenübertragung anfang, dann kann ich über dem 
Empfänger µP die Daten über RS232 an den PC senden und Fehler finden.


Vielen Dank im Vorraus
Dirk


von Tilo S. (thesurfer)


Lesenswert?

http://www.ti.com/litv/zip/slac080a
Bitte.  Das waere schon mal deine Hilfe. Alles was du dir wuenscht 
findest du hier an beispielen in c. Unter anderem auch eine 2400 Baud 
verbindung zum PC ueber rs232 mit Anleitung und Hinweis ein 32kHz quarz 
zu nutzen.  I2C Master  Slave oder SPI Master  Slave. einfach mal 
ausprobrieren.

Viel erfolg

von Jörg S. (Gast)


Lesenswert?

Hast du schon einen Compiler?

von Tilo S. (thesurfer)


Lesenswert?

Ich nutze den mitgelieferten von TI, den CCE weil ich beim 2013 ja 
sowieso nicht ueber die Beschraenkung komme. Das Problem ist hier aber 
das der Code, welchen ich oben empfohlen habe etwas abgewandelt werden 
mus.

z.B.

dort steht :
1
#pragma vector = SD16_VECTOR
2
__interrupt void SD16ISR(void)
3
{
4
  if (SD16MEM0 < 0x7FFF)                 // SD16MEM0 > 0.3V?, clears IFG
5
    P1OUT &= ~0x20;
6
  else
7
   P1OUT |= 0x20;
8
}

ich mach es wie folgt, da der cce das pragma nicht versteht
1
__interrupt void SD16ISR(void)
2
{
3
  if (SD16MEM0 < 0x7FFF)                 // SD16MEM0 > 0.3V?, clears IFG
4
    P1OUT &= ~0x20;
5
  else
6
    P1OUT |= 0x20;
7
}
8
9
SD16_ISR(SD16ISR)

von Dirk (Gast)


Lesenswert?

Danke für die Antworten.

Habe mir Code Composer 2.0 runtergeladen,
und die LED kann auch schon verschieden schnell Blinken.

Mehr habe ich noch nicht.
Die Beispiele sind bestimmt gut, leider fehlen mir auch die echten 
Grundlagen. Und bei dem ganzen hin und her in den PDFs, schwindet das 
Verständniss. Ein paar griffige Tipps würden mir schon helfen.


Ich möchte den MSP430F2013 nur mit 3 Ltg. verbinden.
Plus/Minus und die Impulsleitung für die Messwerte.
Als Kabel möchte ich ein Stero-Klinkenkabel nehmen.
Das Ganze(inc.Gehäuse) soll 'klein','leicht' und einfach bleiben.

Mir fehlt also ein Strippe für die RS232 Verbindung.

Der Propeller von Parallax soll als Empfänger µP arbeiten,
und hat nichts mehr frei für eine weitere RS232 Anbindung.
(Auch hier arbeite ich mich grade ein, noch mehr PDFs.)

Und da ich eine Art von Impuls-Verbindung sowieso brauche ...

Also wie kann ich 16Bit mit 'Pausenmodulation' auf die Ltg. legen?
Wahrscheinlich doch schon so wie erdacht, oder
gibt es was einfacheres ohne Quarz/ festes Timming/ Rückfragen und so?


Grüße Dirk

von Dirk (Gast)


Lesenswert?

Hatte den Code nicht gesehen,
erstmal Danke.

Bei mir hat er auch ne Wahrung rausgegeben, konnte mit der Wahrnung 
nichts anfangen.

Danke Dirk


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.