Forum: Mikrocontroller und Digitale Elektronik ESP32 CAN Pins?


von Rudolph R. (rudolph)


Lesenswert?

Da CAN für den ESP32 ja ein undokumentiertes Feature ist, gibt das 
Datenblatt da nichts her.

Auf welche Pins kann man die CANRX und CANTX Pins beim ESP32 
konfigurieren?

GPI05 ist wohl CANTX, da dort aber auch VSPI_CS0 liegt kann ich den 
nicht nutzen.
CANRX kann man wohl mindestens auf GPIO4 und GPI35 legen.

von HomeAutomator (Gast)


Lesenswert?

Undokumentiert?

Siehe hier:

https://docs.espressif.com/projects/esp-idf/en/latest/api-reference/peripherals/can.html

Weiter unten ist ein Codebeispiel, das dir mehr verrät.

von P.S. (Gast)


Lesenswert?

Von Olimex gibt es ein Board inklusive Schaltplan und Beispielcode:

https://www.olimex.com/Products/IoT/ESP32/ESP32-EVB/open-source-hardware

von Rudolph R. (rudolph)


Lesenswert?

HomeAutomator schrieb:
> Undokumentiert?

Yup, schau mal in das Datenblatt.
Und der Grund ist wohl, dass Espressif gar keine Linzez für CAN hat.


HomeAutomator schrieb:
> Weiter unten ist ein Codebeispiel, das dir mehr verrät.

Tut es nicht, zumindest kann ich dort nicht entdecken auf welche Pins 
man CANRX und CANTX routen kann.
Im Beispiel werden GPIO21 und GPIO22 benutzt, also CANTX ist dort GPIO21 
und CANRX ist GPIO22.

Nur, Einschränkungen sind da keine aufgelistet.

https://github.com/espressif/esp-idf/blob/master/components/driver/can.c
1
static void can_configure_gpio(gpio_num_t tx, gpio_num_t rx, gpio_num_t clkout, gpio_num_t bus_status)
2
{
3
    //Set TX pin
4
    gpio_set_pull_mode(tx, GPIO_FLOATING);
5
    gpio_matrix_out(tx, CAN_TX_IDX, false, false);
6
    gpio_pad_select_gpio(tx);
7
8
    //Set RX pin
9
    gpio_set_pull_mode(rx, GPIO_FLOATING);
10
    gpio_matrix_in(rx, CAN_RX_IDX, false);
11
    gpio_pad_select_gpio(rx);
12
    gpio_set_direction(rx, GPIO_MODE_INPUT);

Bedeutet das jetzt, dass man jeden Pin für CANTX und CANRX verwenden 
kann?
Oder bedeutet das nur, dass der Code die Angaben nicht prüft?

CANTX auf Input-only Pins zu legen wäre schon mal nicht so geschickt.


P.S. schrieb:
> Von Olimex gibt es ein Board inklusive Schaltplan und Beispielcode:

Prima, wie nett von Olimex, das beantwortet nur die Frage überhaupt 
nicht.

: Bearbeitet durch User
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.