mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik [TI Appnote slaa281b] SD/MMC an MSP430


Autor: Marco G. (stan)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

http://focus.ti.com/mcu/docs/mcusupporttechdocsc.t...

in der Appnote slaa281 Rev. b ist der MOSI/MISO-Fehler scheinbar 
behoben, dafür andere nicht:

- die Funktionen mit Rückgabewerten vom Typ char müssen entweder als 
unsigned char umgeschrieben werden, oder der compiler muss das als 
unsigned interpretieren.

- die "Funktion" CS_HIGH in Datei hal_MMC_hardware_board.h ist 
falsch:
#define halSPITXDONE  (UCB0STAT&UCBUSY)       /* Wait for TX to finish */
...
#define CS_HIGH()   while(!halSPITXDONE); MMC_CS_PxOUT |= MMC_CS  // Card Deselect 
denn sie wartet (zumindest bei den USCI-Modulen) solange die USCI 
nicht busy ist!

richtig wäre:
#define halSPITXDONE  (UCB0STAT&UCBUSY)       /* Wait for TX to finish */
...
#define CS_HIGH()   while(halSPITXDONE); MMC_CS_PxOUT |= MMC_CS  // Card Deselect 
oder logischer:
#define halSPITXDONE  (!(UCB0STAT&UCBUSY))       /* Wait for TX to finish */
...
#define CS_HIGH()   while(!halSPITXDONE); MMC_CS_PxOUT |= MMC_CS  // Card Deselect 

- in der main.c macht die Schleife eine Umdrehung zu viel:
unsigned char buffer[512];
...
for (i = 0; i <= 512; i++) 
    buffer[i] = 0;

Mehr ist mir bisher nicht aufgefallen und jetzt scheint es auch zu 
funktionieren :)

Autor: Johnny Maxwell (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Warum sagst du das uns und nicht TI?

Autor: Marco G. (stan)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab ich :)

Autor: Johnny Maxwell (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sehr gut! Dann kann man ja hoffen, dass die das auch irgendwann mal auf 
die Reihe kriegen.

Autor: Marco G. (stan)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Interessant, sieht aus als wäre der Fehler mit dem Array-Indizes 
korrigiert ohne eine rev. C rauszugeben.

Was mir noch aufgefallen ist:
http://elm-chan.org/docs/mmc/mmc_e.html schlägt SPI mode 0 oder 3 vor, 
in der Appnote wird aber mode 2 benutzt...

Autor: Marco G. (stan)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
oder doch nicht, TI hat im MSP430x2xxFamily User's Guide das CLKPH-Bit 
(clock phase) einfach invertiert definiert...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.