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.
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 Olimex gibt es ein Board inklusive Schaltplan und Beispielcode: https://www.olimex.com/Products/IoT/ESP32/ESP32-EVB/open-source-hardware
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.