使用ESP32玩转CAN总线(1)

本文介绍了汽车开发工程师如何利用ESP32进行CAN总线开发。ESP32因其支持Arduino和Micropython、内置WiFi功能、价格低廉等优势成为理想选择。尽管官方的Micropython暂不支持CAN总线,但可以通过第三方库实现。ESP32的GPIO模式分为通用和IO_MUX,CAN总线作为非高速外设,可以选择合适的GPIO引脚连接。文章还探讨了两种开发方式,并提供了开发工具和STM32的对比。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

对于汽车开发工程师来说,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总线开发功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值