Arduino-ESP32的CAN波特率设置为1M代码,不用改底层。

2024-06-21 06:28

本文主要是介绍Arduino-ESP32的CAN波特率设置为1M代码,不用改底层。,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前面调CAN的时候,发现CAN的实际的波特率是设置的波特率的一半。然后还去看手册,推公式,改底层库的代码。后面发现不用这么麻烦,换一下使用的库和配置函数就行。使用CAN.h头文件的配置函数就会出现CAN的实际的波特率是设置的波特率的一半这个问题。

使用CAN.h头文件包含的库的函数配置,CAN实际波特率是配置波特率的一半
#include <CAN.h>#define CAN_TX      26
#define CAN_RX      27void setup() 
{
Serial.begin(115200,SERIAL_8O1);//奇校验
CAN.setPins(CAN_RX,CAN_TX); //设置CAN引脚if(!CAN.begin(1000E3)) //配置1M实际只有500K{Serial.println("Starting CAN failed !");}
}
修改库,换写法重新配置CAN。先下载 ESP32-TWAI-CAN 这个库。然后配置CAN,配置多少波特率实际就是多少波特率
#include <ESP32-TWAI-CAN.hpp>#define CAN_TX      26
#define CAN_RX      27void setup() 
{Serial.begin(115200,SERIAL_8O1);//奇校验//CAN.setPins(CAN_RX,CAN_TX);ESP32Can.setPins(CAN_TX, CAN_RX);//设置CAN引脚// You can set custom size for the queues - those are defaultESP32Can.setRxQueueSize(50); //设置CAN接收缓冲区大小ESP32Can.setTxQueueSize(50); //设置CAN发送缓冲区大小ESP32Can.setSpeed(ESP32Can.convertSpeed(1000));//设置波特率为1M// You can also just use .begin()..if(ESP32Can.begin()) {Serial.println("CAN bus started!");} else {Serial.println("CAN bus failed!");} 
}

这篇关于Arduino-ESP32的CAN波特率设置为1M代码,不用改底层。的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1080443

相关文章

Spring Boot 3.4.3 基于 Spring WebFlux 实现 SSE 功能(代码示例)

《SpringBoot3.4.3基于SpringWebFlux实现SSE功能(代码示例)》SpringBoot3.4.3结合SpringWebFlux实现SSE功能,为实时数据推送提供... 目录1. SSE 简介1.1 什么是 SSE?1.2 SSE 的优点1.3 适用场景2. Spring WebFlu

java之Objects.nonNull用法代码解读

《java之Objects.nonNull用法代码解读》:本文主要介绍java之Objects.nonNull用法代码,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录Java之Objects.nonwww.chinasem.cnNull用法代码Objects.nonN

SpringBoot实现MD5加盐算法的示例代码

《SpringBoot实现MD5加盐算法的示例代码》加盐算法是一种用于增强密码安全性的技术,本文主要介绍了SpringBoot实现MD5加盐算法的示例代码,文中通过示例代码介绍的非常详细,对大家的学习... 目录一、什么是加盐算法二、如何实现加盐算法2.1 加盐算法代码实现2.2 注册页面中进行密码加盐2.

python+opencv处理颜色之将目标颜色转换实例代码

《python+opencv处理颜色之将目标颜色转换实例代码》OpenCV是一个的跨平台计算机视觉库,可以运行在Linux、Windows和MacOS操作系统上,:本文主要介绍python+ope... 目录下面是代码+ 效果 + 解释转HSV: 关于颜色总是要转HSV的掩膜再标注总结 目标:将红色的部分滤

PyCharm如何设置新建文件默认为LF换行符

《PyCharm如何设置新建文件默认为LF换行符》:本文主要介绍PyCharm如何设置新建文件默认为LF换行符问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录PyCharm设置新建文件默认为LF换行符设置换行符修改换行符总结PyCharm设置新建文件默认为LF

在C#中调用Python代码的两种实现方式

《在C#中调用Python代码的两种实现方式》:本文主要介绍在C#中调用Python代码的两种实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C#调用python代码的方式1. 使用 Python.NET2. 使用外部进程调用 Python 脚本总结C#调

Java时间轮调度算法的代码实现

《Java时间轮调度算法的代码实现》时间轮是一种高效的定时调度算法,主要用于管理延时任务或周期性任务,它通过一个环形数组(时间轮)和指针来实现,将大量定时任务分摊到固定的时间槽中,极大地降低了时间复杂... 目录1、简述2、时间轮的原理3. 时间轮的实现步骤3.1 定义时间槽3.2 定义时间轮3.3 使用时

Linux上设置Ollama服务配置(常用环境变量)

《Linux上设置Ollama服务配置(常用环境变量)》本文主要介绍了Linux上设置Ollama服务配置(常用环境变量),Ollama提供了多种环境变量供配置,如调试模式、模型目录等,下面就来介绍一... 目录在 linux 上设置环境变量配置 OllamPOgxSRJfa手动安装安装特定版本查看日志在

Java中&和&&以及|和||的区别、应用场景和代码示例

《Java中&和&&以及|和||的区别、应用场景和代码示例》:本文主要介绍Java中的逻辑运算符&、&&、|和||的区别,包括它们在布尔和整数类型上的应用,文中通过代码介绍的非常详细,需要的朋友可... 目录前言1. & 和 &&代码示例2. | 和 ||代码示例3. 为什么要使用 & 和 | 而不是总是使

Java强制转化示例代码详解

《Java强制转化示例代码详解》:本文主要介绍Java编程语言中的类型转换,包括基本类型之间的强制类型转换和引用类型的强制类型转换,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录引入基本类型强制转换1.数字之间2.数字字符之间引入引用类型的强制转换总结引入在Java编程语言中,类型转换(无论