登录/注册

STM32 CAN 20K

STM32 CAN 20K

更多

在STM32微控制器中配置CAN总线为20kbps的波特率需要根据时钟源和分频参数进行计算。以下是关键步骤和示例:


1. 波特率计算公式

CAN总线波特率计算公式如下: [ \text{波特率} = \frac{\text{APB时钟频率}}{\text{Prescaler} \times (\text{BS1} + \text{BS2} + 1)} ]


2. 配置示例(假设APB1时钟为48MHz)

若需得到 20kbps,按以下步骤计算:

  1. 计算分频因子: [ \text{分频因子} = \frac{\text{APB时钟}}{\text{目标波特率}} = \frac{48\text{MHz}}{20\text{kbps}} = 2400 ]

  2. 分配Prescaler和位时间参数

    • 假设选择 Prescaler = 24,则: [ \text{BS1 + BS2 + 1} = \frac{2400}{24} = 100 ]
    • 设置 BS1 = 75BS2 = 24(总和为99,加1后为100)。
  3. 验证参数: [ \text{实际波特率} = \frac{48\text{MHz}}{24 \times (75 + 24 + 1)} = 20\text{kbps} ]


3. 代码配置(HAL库示例)

CAN_HandleTypeDef hcan;
hcan.Instance = CAN1;  // 根据硬件选择CAN实例

// 配置CAN参数
hcan.Init.Prescaler = 24;
hcan.Init.Mode = CAN_MODE_NORMAL;
hcan.Init.SyncJumpWidth = CAN_SJW_1TQ;   // 同步跳转宽度
hcan.Init.TimeSeg1 = CAN_BS1_75TQ;       // BS1 = 75个时间单位
hcan.Init.TimeSeg2 = CAN_BS2_24TQ;       // BS2 = 24个时间单位
hcan.Init.TimeTriggeredMode = DISABLE;
hcan.Init.AutoBusOff = DISABLE;
hcan.Init.AutoWakeUp = DISABLE;
hcan.Init.AutoRetransmission = DISABLE;
hcan.Init.ReceiveFifoLocked = DISABLE;
hcan.Init.TransmitFifoPriority = DISABLE;

// 初始化CAN外设
if (HAL_CAN_Init(&hcan) != HAL_OK) {
  Error_Handler();
}

4. 注意事项


5. 常见问题

如需进一步帮助,请提供具体的STM32型号和时钟配置细节!

君耀压敏电阻20K系列在工业控制中有哪些具体的应用场景?

在电子电路保护领域,压敏电阻作为一种重要的过电压保护元件,发挥着不可或缺的作用。而君耀压敏电阻20K系列凭借其卓越的性能和广泛的应用范围,成为了众多电子设备制造商的首选。这里,君耀代理商南山电子介绍

2025-12-09 17:12:56

请问ADS1256可否做到精准的20K的差分采样率?

你好,最近使用ADS1256,后端通过SPI连接STM32获取采样数据。 我想达到的目标是:采样率为20K的四路差分采样电路,并通过SPI将数据以每秒20K

2024-11-18 06:30:21

用VCA810作自动增益,把频率降低到20K的时候,波形失真的原因?

一点削波(峰值部分较粗就是这个原因),不知道这是否正常。 3:把频率降低到20K的时候,波形失真,但是幅值基本保持不变,如上图,看FFT发现产生了明显的谐波,不知道是何原因。 4:再往下调频率到

2024-09-04 07:53:59

HRA隔离系列 升压模块电源 宽电压输入 正负高电压稳压输出 20K

HRA隔离系列宽电压输入正负高电压稳压输出20K产品特点●效率高达80%以上●1*2英寸标准封装●单电压输出●价格低●稳压输出●工作温度:-40℃~+85℃●阻燃封装,满足UL94-V0要求●温度

资料下载 YULINKEJI 2023-03-23 15:18:21

STM32F103x8B微控制器技术手册

STM32F103x8和STM32F103xB增强型系列使用高性能的ARM® Cortex™-M3 32位的RISC内核,工 作频率为72MHz,内置高速存储器(高达128

资料下载 拾壹壹 2022-07-28 17:37:10

STM32学习笔记--CAN

目录:一、CAN通信原理1.CAN通信简介2.CAN通信优点3.CAN总

资料下载 山中老虎 2021-11-19 12:21:08

基于STM32单片机和MCP2515的CAN通讯

基于STM32单片机和MCP2515的CAN通讯

资料下载 楊yang 2021-07-18 10:52:23

STM32F103x8和STM32F103xB高性能的ARM数据手册免费下载

STM32F103x8和STM32F103xB增强型系列使用高性能的ARM® Cortex™-M3 32位的RISC内核,工作频率为72MHz,内置高速存储器(高达128

资料下载 佚名 2019-05-23 17:42:24

为什么在ALM2403EVM的评估版本可以通过20K的电阻街道24V的电压上?

关于ALM2403的 VOTF/SH_D管脚定义的最大电压为5.5V,为什么在ALM2403EVM的评估版本可以通过20K的电阻街道24V的电压上?产品设计参考demo板的设计,通过20k上拉到15V,是否会对器件

2024-07-31 08:27:54

AD5933被测阻抗产生的电流响应,会受到与被测组抗串联的RFB和20K电阻的影响吗?

AD5933发出交流电压激励,经过VDD的重新偏置,两端直流抵消,然后剩下交流电压激励施加给被测阻抗,被测阻抗产生电流,由VIN输入给AD5933画的那个I-V,进一步处理。 问题是,被测阻抗产生的电流响应,不就会受到与被测组抗串联的RFB和20K电阻的影响吗?还是我的理解有误?

2023-12-13 08:59:39

AD8015上给出了输入电流RMS噪声,如何计算输出带宽为M@-3dB、跨阻为20k时的输出噪声?

大家好,AD8015上给出了输入电流RMS噪声,如何计算输出带宽为M@-3dB、跨阻为20k时的输出噪声。对AD8015 DATASHEET 里噪声计算示例中的0.7和π/2不理解。谢谢。

2023-11-17 14:49:47

电子驱赶器中为什么要使用5个20k的电阻呢?

为什么这里要使用5个20k的电阻呢,用1个100k的电阻代替不行吗:

2023-07-14 09:06:17

CAN总线学习笔记|STM32CAN环回测试

CAN基础知识介绍文中介绍了CAN协议的基础知识,以及STM32F4芯片的CAN

2023-01-04 15:23:15

为什么ti的锁相环程序的中断程序的运行频率最低是20k

为什么ti的锁相环程序的中断程序的运行频率最低20k?这是ti的锁相环使用说明

2020-07-16 16:20:19

can总线通信出现奇怪现象

目前在测试 nxp芯片can总线通信功能时出现一奇怪现象,在波特率为20k时,节点a以15ms时间间隔连续发送64帧数据过程中节点b发送一帧数据竞争无影响。当节点a以9ms间隔连续发送64帧数

2019-08-17 21:11:11
7天热门专题 换一换
相关标签