CAN 波特率设置
来源:互联网 发布:js验证码不区分大小写 编辑:程序博客网 时间:2024/05/18 00:46
CAN时钟源的选择有两种,一种为总线时钟,一种为外接时钟
波特率计算公式:F(Baud) = F/(BRP* (1+TSEG2+TSEG1))
波特率设置相关寄存器
7
6
5
4
3
2
1
0
SJW1
SJW0
BRP5
BRP4
BRP3
BRP2
BRP1
BRP0
Table1 CANBTR0
SJW1
SJW0
Synchronization Jump Width
0
0
1 Tq clock cycle
0
1
2 Tq clock cycle
1
0
3 Tq clock cycle
1
1
4 Tq clock cycle
Table2 SJW
BRP5
BRP4
BRP3
BRP2
BRP1
BRP0
Prescaler value
0
0
0
0
0
0
1
0
0
0
0
0
1
2
0
0
0
0
1
1
3
0
0
0
1
1
1
4
..
..
..
..
..
..
..
1
1
1
1
1
1
64
Table3 Baud Rate Prescaler
7
6
5
4
3
2
1
0
SAMP
TSEG22
TSEG21
TSEG20
TSEG13
TSEG12
TSEG11
TSEG10
Table4 CANBTR1
TSEG22
TSEG21
TSEG20
Time Segment 2
0
0
0
1
0
0
1
2
..
..
..
...
1
1
0
7
1
1
1
8
Table5 TSEG2
TSEG13
TSEG12
TSEG11
TSEG10
Prescaler value
0
0
0
0
1
0
0
0
1
2
0
0
1
0
3
0
0
1
1
4
..
..
..
..
..
1
1
1
0
15
1
1
1
1
16
例程
1. 总线时钟40MHZ,设置CAN波特率为500KHZ
40MHZ/500KHZ=80
80 = BRP *(1+TSEG2+TSEG1) =10 * 8;
所以设置BRP =8,TSEG2=4,TSEG1=5. SJW=0x01对应寄存器值
CAN0BTR0=0x47;
CAN0BTR1=0x43;
2. 总线时钟40MHZ,设置CAN波特率为250KHZ
40MHZ/250KHZ=16
80 = BRP *(1+TSEG2+TSEG1) =16 * 8;
所以设置BRP =8,TSEG2=4,TSEG1=5,SJW=0x01对应寄存器值
CAN0BTR0=0x4F;
CAN0BTR1=0x43;
- CAN 波特率设置
- STM8S的can波特率设置
- CAN波特率设置时的参数计算
- STM32 CAN 波特率、采样点设置
- CAN波特率设置时的参数计算
- 设置CAN波特率时出现问题
- CAN接口芯片MCP2515的波特率和滤波器设置问题
- 波特率设置
- CAN波特率计算
- stm32 can波特率
- CAN波特率计算
- CAN波特率的计算
- 示波器CAN波特率
- stm32 can波特率计算
- CAN总线波特率计算方法
- CAN波特率配置
- CAN波特率计算
- LPC24xx系列CAN波特率计算
- rtl8192cu无线网卡移植时遇到issue nulldata to keep alive issue nulldata:0问题解决办法
- 类似新浪微博发布时间显示方式 比如 **分钟前 ** 小时前 昨天12:30 前天13:30等
- #小练习 SGMLParser 解析 HTML
- UML用例建模解析(一)
- java程序:在排序好的数组中添加一个数字,将添加后的数字插入到数组合适的位置。怎么写啊?
- CAN 波特率设置
- 关于gcc 1.54的配置
- 进程间通信系列 之 消息队列函数(msgget、msgctl、msgsnd、msgrcv)及其范例
- GDB用法
- Exists如些多焦
- 设计模式优秀文章集合
- hive java.io.IOException: Cannot initialize Cluster
- ZOJ 3466 The Hive II 解题报告(插头DP)
- 为何过半农村学生无法就读普通高中?