Forum: Mikrocontroller und Digitale Elektronik STM32F746G-Discovery CAN Beispiel


von hawky (Gast)


Lesenswert?

Hallo,

ich suche ein CAN-Interface Beispiel spezifisch für das 
STM32F746G-Discovery Board (HAL Library).
Im STM32Cube MCU Package for STM32F7 series gibt es leider keine 
Beispiele für das CAN-Interface...

vielen Dank für jeden Hinweis

von Jens R. (tmaniac)


Lesenswert?

Naja, da das Board auch keinen CAN Transceiver hat (zumindest ist davon 
nichts auf der ST Produktbeschreibung zu lesen) kann dir ST auch kein 
Beispiel liefern. Die wissen ja nicht wie du deine eigenen Erweiterungen 
an schließt.

Schau dir die Beispiele der anderen Boards an, welche CAN haben. Die HAL 
hilft hier sehr gut.

von hawky (Gast)


Lesenswert?

hmm ok danke, ich tue mich gerade schwer damit etwas für ein STM32F7xx - 
Disco Board zu finden....

Ja dann muss ich noch weiter suchen.

von Klaus W. (mfgkw)


Lesenswert?

STM32F429 hat 2*CAN, gibt es als Nucleo-144 und als Discovery.
STM32F746 ebenfalls 2*CAN, gibt es zumindest als Nucleo-144 
(NUCLEO-F746ZG).

von pegel (Gast)


Lesenswert?

STM32Cube/Repository/STM32Cube_FW_F7_V1.16.2/Projects/STM32F769I_EVAL/Ex 
amples/CAN/CAN_Networking

Wenn Du HAL und Cube* benutzt, gibt es sicher diesen Ordner.

Ist für ein anderes Board, lässt sich aber leicht anpassen.

von drm (Gast)


Lesenswert?

Auf dem STM32F746G-Discovery sind CAN Pins allerdings schon belegt.

einen CAN Transceiver (MCP2551, MCP2561, TJA1050) an die CAN-RX und 
CAN-TX Pins hängen reicht.

ST UM1725 Seite 90ff für die STM32F7 Familie :

CAN konfigurieren:
HAL_CAN_Init (CAN_HandleTypeDef * hcan);
HAL_CAN_ConfigFilter(&CAN_Port, &myFilterConfig);
HAL_CAN_ActivateNotification(&CAN_Port, CAN_IT_RX_FIFO0_MSG_PENDING);
HAL_CAN_ActivateNotification(&CAN_Port, CAN_IT_RX_FIFO1_MSG_PENDING);
HAL_CAN_ActivateNotification(&CAN_Port, CAN_IT_TX_MAILBOX_EMPTY);
HAL_CAN_Start(&CAN_Port);

CAN Nachricht senden/empfangen:
HAL_CAN_GetRxMessage(&CAN_Port, CAN_RX_FIFO0, &myRXHeader, my_can_rx);
HAL_CAN_AddTxMessage(&CAN_Port, &myTXHeader, my_can_tx, &myTxMailbox);

von Klaus W. (mfgkw)


Lesenswert?

Klaus W. schrieb:
> STM32F429 hat 2*CAN, gibt es als Nucleo-144 und als Discovery.
> STM32F746 ebenfalls 2*CAN, gibt es zumindest als Nucleo-144
> (NUCLEO-F746ZG).

Sorry, hatte die Frage nur halb gelesen - kann es aber leider nicht mehr 
ändern oder löschen.

Zu deinem Board gibt es schon einen Thread, falls du den nicht gesehen 
hast:
Beitrag "STM32F7 Discovery Board"
Demnach wird es eher schwierig, CAN zu machen, weil die Pins schon für 
das Display verbraten sind.

Aber es gibt auch das NUCLEO-F746ZG.
Da sollten die Pins weitgehend frei sein die Nucleo sind ja ohne viel 
Gedöns.
Dann brauchst du noch einen Transceiver für die Pegel.
Vielleicht gibt es zu dieser Kombination Beispiele im Netz.

von drm (Gast)


Lesenswert?

wenn es unbedingt das STM32F746G-Discovery sein muss und man es sich 
unnötig schwer machen will kann man auch ein Arduino CAN Shield mit 
MCP2515 über SPI anbinden.
Spannungspegel 5V/3V3 prüfen bevor man Strom draufgibt !

von drm (Gast)


Lesenswert?

SPI5 kann man dann verwenden

von stomspannungsgeber (Gast)


Lesenswert?

drm schrieb:
> Spannungspegel 5V/3V3 prüfen bevor man Strom draufgibt !

Strom draufgeben ist blöd.
Ich würde lieber die Spannung prüfen bevor ich Spannung draufgebe!

von drm (Gast)


Lesenswert?

>Strom draufgeben
>Spannung draufgeben
Watt ?!

von stromspannungsgeber (Gast)


Lesenswert?

drm schrieb:
> Watt ?!

Nein, Stromspannung!

von drm (Gast)


Lesenswert?

>Nein, Stromspannung!
Ohmmmmmmmmm

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.