add comments

This commit is contained in:
Sam Perry 2022-12-23 17:43:53 -05:00
parent 32bf5abf99
commit b643a09188
2 changed files with 30 additions and 8 deletions

View file

@ -1,3 +1,12 @@
/* ESP32 Arduino CAN Receive Basic Demo
* This example will receive messages on the CAN bus
*
* An external transceiver is required and should be connected
* to the CAN_tx and CAN_rx gpio pins specified by CANInit. Be sure
* to use a 3.3V compatable transceiver such as the SN65HVD23x
*
*/
#include <Arduino.h> #include <Arduino.h>
#include <ESP32CAN.h> #include <ESP32CAN.h>
@ -5,18 +14,19 @@ void setup() {
Serial.begin(115200); Serial.begin(115200);
Serial.println("ESP32-Arduino-CAN Receive Basic Demo"); Serial.println("ESP32-Arduino-CAN Receive Basic Demo");
/* initialize and start, use pin 5 as CAN_tx and pin 4 as CAN_rx, CAN bus is set to 500kbps */
ESP32Can.CANInit(GPIO_NUM_5, GPIO_NUM_4, ESP32CAN_SPEED_500KBPS); ESP32Can.CANInit(GPIO_NUM_5, GPIO_NUM_4, ESP32CAN_SPEED_500KBPS);
} }
void loop() { void loop() {
twai_message_t rx_frame; twai_message_t rx_frame;
if (ESP32CAN_OK == ESP32Can.CANReadFrame(&rx_frame)) { /* CAN message received*/ if (ESP32CAN_OK == ESP32Can.CANReadFrame(&rx_frame)) { /* only print when CAN message is received*/
Serial.print(rx_frame.identifier, HEX); Serial.print(rx_frame.identifier, HEX); /* print the CAN ID*/
Serial.print(" "); Serial.print(" ");
Serial.print(rx_frame.data_length_code); Serial.print(rx_frame.data_length_code); /* print number of bytes in data frame*/
for (int i=0; i<rx_frame.data_length_code; i++) { for (int i=0; i<rx_frame.data_length_code; i++) { /* print the data frame*/
Serial.print(rx_frame.data[i], HEX); Serial.print(rx_frame.data[i], HEX);
} }

View file

@ -1,3 +1,12 @@
/* ESP32 Arduino CAN Send Basic Demo
* This example will send messages on the CAN bus
*
* An external transceiver is required and should be connected
* to the CAN_tx and CAN_rx gpio pins specified by CANInit. Be sure
* to use a 3.3V compatable transceiver such as the SN65HVD23x
*
*/
#include <Arduino.h> #include <Arduino.h>
#include <ESP32CAN.h> #include <ESP32CAN.h>
@ -5,16 +14,18 @@ void setup() {
Serial.begin(115200); Serial.begin(115200);
Serial.println("ESP32-Arduino-CAN Send Basic Demo"); Serial.println("ESP32-Arduino-CAN Send Basic Demo");
/* initialize and start, use pin 5 as CAN_tx and pin 4 as CAN_rx, CAN bus is set to 500kbps */
ESP32Can.CANInit(GPIO_NUM_5, GPIO_NUM_4, ESP32_SPEED_500KBPS); ESP32Can.CANInit(GPIO_NUM_5, GPIO_NUM_4, ESP32_SPEED_500KBPS);
} }
void loop() { void loop() {
twai_message_t tx_frame; twai_message_t tx_frame;
tx_frame.extd = 0; tx_frame.extd = 0; /* CAN ID is standard 11bit, for 29bit set to 1*/
tx_frame.data_length_code = 8; tx_frame.data_length_code = 8; /* send 8 bytes of data */
tx_frame.identifier = 0x123; tx_frame.identifier = 0x123; /* CAN id is 0x123 */
/* assemble the 8 bytes of data */
tx_frame.data[0] = 0xDE; tx_frame.data[0] = 0xDE;
tx_frame.data[1] = 0xAD; tx_frame.data[1] = 0xAD;
tx_frame.data[2] = 0xBE; tx_frame.data[2] = 0xBE;
@ -24,9 +35,10 @@ void loop() {
tx_frame.data[6] = 0xBA; tx_frame.data[6] = 0xBA;
tx_frame.data[7] = 0x11; tx_frame.data[7] = 0x11;
ESP32Can.CANWriteFrame(&tx_frame); ESP32Can.CANWriteFrame(&tx_frame); /* send the CAN message */
Serial.println("CAN Frame Sent"); Serial.println("CAN Frame Sent");
/* delay before sending another CAN message*/
delay(1000); delay(1000);
} }