Location Adress in STM via SPI

Gast #5406608
Lesenswert?

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 #5406683
Lesenswert?

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 #5406705
Lesenswert?

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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren