Gast
#407348
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