求助,关于在ESP32上CAN库的使用方法-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1843|回复: 3

求助,关于在ESP32上CAN库的使用方法

[复制链接]
发表于 2021-11-21 14:52 来自手机 | 显示全部楼层 |阅读模式
最近用arduino加mcp2515做一个处理CAN通讯的小玩意,用的库是在Github上找来的,找库的时候看到有个用在ESP32上库修改版,刚好手上有两块ESP32板子,就想着用它来做,顺便还可以用蓝牙或wifi。下了才发现这库里没有实例,对ESP又是刚接触,完全抓瞎了,希望哪位大神指点下这个库应该怎么用。
只要简单的一个例程就可以,比如模仿下原库的例程,万分感谢。
这里好像不能上传文件,所以放个库的github链接吧。
arduino库:https://github.com/autowp/arduino-mcp2515
修改为ESP32的库:https://github.com/dedalqq/esp32-mcp2515
 楼主| 发表于 2021-11-21 14:56 来自手机 | 显示全部楼层
#include <SPI.h> #include <mcp2515.h>  struct can_frame canMsg; MCP2515 mcp2515(10);   void setup() {   Serial.begin(115200);      mcp2515.reset();   mcp2515.setBitrate(CAN_125KBPS);   mcp2515.setNormalMode();      Serial.println("------- CAN Read ----------");   Serial.println("ID  DLC   DATA"); }  void loop() {   if (mcp2515.readMessage(&canMsg) == MCP2515::ERROR_OK) {     Serial.print(canMsg.can_id, HEX); // print ID     Serial.print(" ");      Serial.print(canMsg.can_dlc, HEX); // print DLC     Serial.print(" ");          for (int i = 0; i<canMsg.can_dlc; i++)  {  // print the data       Serial.print(canMsg.data[i],HEX);       Serial.print(" ");     }      Serial.println();         } 以上是ARDUINO的使用例程,直接用esp32的库编译直接报错
发表于 2022-6-24 20:40 | 显示全部楼层
     ESP32 上CAN 比8266 更方便啊!因为ESP 32 本身就集成了CAN控制器,所以你只需要两根线外接一个CAN 收发模块即可,比如TJA1050.    像MCP2515 CAN 控制器完全就是没有必要了。下面是ESP32 CAN 库。https://github.com/miwagner/ESP32-Arduino-CAN 这个用法跟STM32的CAN有点类似。
发表于 2022-8-8 15:49 | 显示全部楼层
寒星1999 发表于 2022-6-24 20:40
ESP32 上CAN 比8266 更方便啊!因为ESP 32 本身就集成了CAN控制器,所以你只需要两根线外接一个CAN 收 ...

你好,我也想用esp32进行can通信,但貌似tja1050模块是5v供电,而esp的通信io使用的是3.3v,直接通信会炸吗?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-12-1 04:19 , Processed in 0.094747 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表