Location Adress in STM via SPI

Gast #5406608
Hallo zusammen,

habe einen STM32F4... am laufen und SPI soweit eingerichtet. Darüber 
übertrage ich eine Nachricht an einen Slave, welchen ich per UART am 
Terminal auslese. Aber mittlerweile glaube ich zu spinnen.

Ich schicke ein Char Array z.B. "Adresse: " an meinen SPI und möchte von 
diesem Char Array die Location ebenfalls als String an meinen Slave 
schicken. Egal wie ich den Pointer lenke oder Daten rüberschicke ich 
bekomme es einfach nicht hin.

kleiner Auszug:

char msg[] = "Adresse: ";
HAL_SPI_Transmit(&spi2, (uint8_t *)message, strlen(message), 
HAL_MAX_DELAY);



Ich habe es ebenfalls per void pointer versucht. Aber dann wird wieder 
die Nachricht ausgegeben.

Ich sehe gerade den Baum vor lauter Wald nicht mehr ^^ vielen Dank
Gast
cirquito schrieb:
> char msg[] = "Adresse: ";
> HAL_SPI_Transmit(&spi2, (uint8_t *)message, strlen(message),
> HAL_MAX_DELAY);

Vermutlich willst du <msg> senden und nicht <message>.

Denn für <msg> sehe ich eine Zuweisung, für <message> nicht.
Gast
Ach sorry das war jetzt ein Tippfehler... bei Transmit steht natürlich 
auch msg.

Ich möchte aber nun die Speicheradresse des deklarierten Char-Arrays als 
Text an den Slave schicken.

Z.B. Adresse von msg: 0x20000....



viele Grüße


cir
Gast
cirquito schrieb:
> Ich möchte aber nun die Speicheradresse des deklarierten Char-Arrays als
> Text an den Slave schicken.

Ist möglich, aber wozu? Die Adresse ist jedes Mal anders, da das Array 
auf dem Stack ist. Was soll ein anderer Controller mit einer internen 
Speicher-Adresse anfangen?
1
#include <inttypes.h>
2
#include <stdio.h>
3
#include <stdint.h>
4

5
int main () {
6
  char message [20];
7
  int count = snprintf (message, sizeof (message), "Adresse: 0x%08" PRIXPTR, (uintptr_t) message);
8
  if (count < sizeof(message)) {
9
    HAL_SPI_Transmit(&spi2, (uint8_t *)message, count, HAL_MAX_DELAY);
10
  } else {
11
    // Error ...
12
    printf ("Error: %d\n", count);
13
  }
14
}

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 8 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.