使用ESP32玩转CAN总线(1)

对于汽车开发工程师来说,CAN总线是工作最最基础的一部分了。虽然工作已经有了CANOE,CANAPE,INCA等开发工具,但简单的使用这些软件没有极客精神,有时候还是想能够做一个自己的工具,可以通过编程来玩转CAN总线。由于之前接触过ESP8266,因此当ESP32推出的时候,我对其尤为关注。ESP32的性能更为强大,而最重要的是ESP32已经支持CAN总线了。在其官方文档中,CAN总线被名命为TWAI(Two-wire Automotive Interface)。因此在查阅文档的时候,发现没有CAN总线时,不需要惊讶。

接下来我将介绍选择ESP32的好处:

①支持Arduino,Micropython等开发方式,如果需要性能的话,可以直接使用Arduino积木式的开发。而如果对性能的要求不高,希望更简单的开发方式,更复杂的功能,则可以通过Micropython进行开发。(官方的Micropython还不支持CAN总线,要想在ESP32上使用CAN总线:https://github.com/nos86/micropythonhttps://github.com/Tbruno25/pycom-esp32-universal

②支持WIFI的功能, 能够做一个服务器,通过无线方式控制芯片。(比如通过Websocket控制CAN总线)这样一个无线转CAN模块也就在20元左右。

③价格十分便宜,一块ESP32开发板的价格在20元左右,而要购买stm32相同级别的芯片,这个价格只能买到芯片了。缺点就是ESP32没有内置Flash,因此外置了一个4mb的flash,速度没有stm32快,但容量大。同时ESP32的GPIO的数量比较少。如果想要使用STM32的话。推荐使用STM32H750,开发板的价格在60元左右。性能也十分强大。也支持Micropython。

首先我们要介绍一下ESP32的GIPO模式,一种是通用模式,另一种则是IO_MUX。简单的理解可以是IO_MUX是外设与PIN脚直连,因此用于较高速度的外设。例如SPI,SD等。而CAN总线不算高速外设,因此可以定义为其他的引脚,这样就不会占用IO_MUX外设的引脚了。

那么接下来,我将简单介绍两种开发方式使用ESP32,实现基于ESP32的CAN总线开发功能。

  • 9
    点赞
  • 67
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值