Forum: Mikrocontroller und Digitale Elektronik Nucleo H743ZI2 Serielle Verbindung zum MacBook?


von Christian H. (christian_h116)


Lesenswert?

Hallo µC-Gemeinde,

ich benötige bei folgendem Problem mal eure Hilfe.

Hardware:
MacBookPro M2 (MacOS Tahoe)
Adapter USB-C -> USB-A
USB-A (USB3.0) 4-fach Port
USB-A -> Mikro-USB Kabel
STM32 Nucleo H743ZI2 (Power über ST-LINK USB)

Software:
STM CubeMX aktuellste Version
STM CubeIDE aktuellste Version
ST-LINK V3 aktuellste Version (Link,Dbg,Mass Storage)

Ein kleines Testprogramm mit dem Taster und den LED´s wurde bereits 
erfolgreich übertragen.

Ziel:
STM sendet einen String zb Hello World an den Seriellen Monitor der 
CubeIDE.

Vorbereitung:
In CubeMX:
USART 3 eingeschaltet. Dies ist laut Datenblatt der Channel der an den 
ST-Link USB gesendet wird. (vgl Manual 7.6.5) Modus auf "Asynchron" 
alles andere ohne Veränderung.
Code für CubeIDE generiert und dort geöffnet.

In CubeIDE:

Handler wird als huart3 initialisiert.

In der while(1):
HAL_UART_Transmit(&huart3, "Hello world!",12,100);

Build wird mit 0 Errors und 0 warnings generiert.

Nach dem Übertragen an den Nucleo wechselt die COM LED von Rot nach 
Grün.


Neue Shell Console mit der Verbindung:
Seriell mit den Rates des µC.
Schnittstelle ist der USB-Port der erkannt wird beim anschließen.

Resultat:
Keine Nachricht in der Shell;
Nucleo muss mit dem ST-Link Update Tool "resetet" werden, sonst kann man 
ihn nicht mehr erreichen.


In einem YT-Tube Video habe ich einen Ansatz gehört zu dem Thema Mac und 
der debugger, leider ist das nicht weiter ausgeführt worden.

Kann mir jemand sagen wo ich den Fehler mache?

VG
Chris

von Rahul D. (rahul)


Lesenswert?

mal weniger Prosa, dafür mehr Quellcode (als Anhang).

von Niklas G. (erlkoenig) Benutzerseite


Lesenswert?

Christian H. schrieb:
> Nucleo muss mit dem ST-Link Update Tool "resetet" werden, sonst kann man
> ihn nicht mehr erreichen.

D.h. du kannst gar nicht mehr debuggen? Erscheint der ST-Link gar nicht 
mehr als Gerät am Mac? Was passiert unter Windows oder Linux, oder auch 
Android? Wenn der ST-Link abstürzt ist natürlich klar dass keine 
Serial-Daten ankommen!

von N. M. (mani)


Lesenswert?

Christian H. schrieb:
> In der while(1):
> HAL_UART_Transmit(&huart3, "Hello world!",12,100);

Ist da auch noch ein delay o.ä. mit in der while? Wenn nicht, nach Mal 
eins rein. Sagen wir Mal mit 100ms oder so.

Rahul D. schrieb:
> mal weniger Prosa, dafür mehr Quellcode

+1

von Thomas Re (db8nr)


Lesenswert?

Christian H. schrieb:
> HAL_UART_Transmit(&huart3, "Hello world!",12,100);

Ich kenne Apple nur bis Apple II ;-)

Vielleicht fehlt nur das Ende-Zeichen, dann probiere mal mit
HAL_UART_Transmit(&huart3, "Hello world!\r",    13     ,100);
oder
HAL_UART_Transmit(&huart3, "Hello world!\n",    13     ,100);

Das ist nur meine Vermutung.

: Bearbeitet durch User
von Hans-Georg L. (h-g-l)


Lesenswert?

Christian H. schrieb:
> Neue Shell Console mit der Verbindung:
> Seriell mit den Rates des µC.
> Schnittstelle ist der USB-Port der erkannt wird beim anschließen.

https://community.st.com/t5/stm32-mcus-boards-and-hardware/st-link-v3-not-detected-in-mac-m2/m-p/772534#M24150

von Christian H. (christian_h116)


Lesenswert?

Rahul D. schrieb:
> mal weniger Prosa, dafür mehr Quellcode (als Anhang).

Wenn es mehr Quellcode geben würde stände er hier.

Es ist mit Ausnahme meiner einen Zeile nichts dem von MX generierten 
Code zugefügt worden. Und dort ist die Config wie ich sie beschrieben 
habe. Wo ist jetzt bitte das Problem mit meiner Frage?
Ist das Problem dass ich ein Forum benutze um andere Enthusiasten um 
Hilfe zu bitten ohne vorher ein Studium gemacht zu haben oder ist es 
dass ich nicht durch Selbststudium darauf gekommen bin?

Und wenn du den ganzen Code so gerne sehen möchtest dann bilde doch nach 
was ich geschriebe habe.

Wegen solcher Antworten verliert man immer mehr das Interesse an Foren 
und gerade dieses hier ist es doch wohl wert oder?

von Harald K. (kirnbichler)


Lesenswert?

Christian H. schrieb:
> Nach dem Übertragen an den Nucleo wechselt die COM LED von Rot nach
> Grün.
>
> Neue Shell Console mit der Verbindung:
> Seriell mit den Rates des µC.
> Schnittstelle ist der USB-Port der erkannt wird beim anschließen.
>
> Resultat:
> Keine Nachricht in der Shell;
> Nucleo muss mit dem ST-Link Update Tool "resetet" werden, sonst kann man
> ihn nicht mehr erreichen.

Du hältst das für eine detaillierte Beschreibung Deiner Vorgehensweise, 
mit der jemand, der nicht exakt Deine Buildumgebung verwendet, genau 
versteht, was Du meinst?

Was ist Deine "Shell Console"? Was ist "Seriell mit den Rates des µC"?

Ist das was, was Deine Entwicklungsumgebung zur Verfügung stellt, oder 
ist das was, was Du auf irgendeine andere Art und Weise machst?


Daß ein so schnodderig hingerotzter Text nicht mit Hosianna aufgenommen 
wird, kann ich nachvollziehen; Du reagierst unangemessen angefasst auf 
die für dieses Forum übrigens äußerst zurückhaltende Rückfrage.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.