fehlerhafter Übergabewert einer Funktion bei C167CR

Gast #407348
Lesenswert?
• ▲
▼
Hallo,

Verwende: Phycore MM167CR, uVision3 und FlashTools
ich hab folgendes Problem:
Ich habe ein Programm, das mit verschiednen SPI Bausteinen
kommunizieren soll. Dazu ist beim C167 die SSC Schnittstelle
konfiguriert. Aufgerufen werden die Sendebefehle über eine Interrupt
Routine die durch einen Timer alle 500ms auslöst.
Mit:
void TASK_500ms(void)   //executes every 500ms
{SPI_Transmit_DEV1(0x0DF2);}

wird eine Funktion aufgerufen die einen Wert über SPI verschicken
soll.
Und zwar so:

void SPI_Transmit_DEV1(uword txword)
{
txbuffer=txword;
if (SSC_ubTxBufFree())
{
SSC_vSendData(txbuffer);  //send
}
Wenn ich es mit dem Monitor von Keil uVision3 reinlade gehts ohne
Fehler.
Der Aufruf, das Senden usw. funktioniert, nur kommen nach dem FLASHEN
mit Phytecs FlashTools als Daten (also in txbuffer) nur 1en auf dem
SPI-Bus raus. Wenn ich die Daten direkt in die Funktion
(SPI_Transmit_DEV1) schreibe gehts auch.

Der Aufruf der Funktion geht also, der clk ist ja da. Nur die Daten
werden wohl beim Funktionsaufruf nicht richtig übergeben.
Hab schon die BUSCONs und ADDRSELs überprüft, auch den ext Speicher des
Targets eingestellt. Woran kann es denn liegen dass die Funktion
anscheinend richtig geht nur die Übergabedaten nicht ankommen?

Gruß
christian
Gast #407350
Lesenswert?
• ▲
▼
ja richtig, wenn man den Debugger benützt lädt sich das Monitor Programm
mitsammt dem Programm nur in den RAM, von da aus gehts ja.. Nur ist das
ja nicht beständig.
Ich hab jetzt rausgefunden, dass laut .m66 file die betreffenen
Variablen in NDATA0 stehen, der betreffende Speicherbereich ist auch
richtig. Vielleicht ist das Buscon Register doch nicht richtig. Hat
jemand vielleicht ein Startup File für ein MM167 von Phytec das ich mir
mal ansehen könnte.

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.