我一直在使用 dsPIC33CH128MP506 进行一些 CANbus 通信。
它能够进行CAN-FD,并且有两个独立的波特率分频器,用于标称波特率和数据波特率。它们是:C1NBTCFGH
内的BRP(波特率预分频器)(CAN标称位时间配置寄存器高电平)
和
C1DBTCFGH内的BRP(波特率预分频器)(CAN数据位时间配置寄存器高电平)
两者的范围均为1 - 256。
CANCLKCON(CAN时钟控制寄存器)中还有CANCLKDIV(CAN时钟分频器选择位),其范围为1 - 128。
据我所知,CANCLKDIV 什么也没做。我只使用普通的 CAN,而不是 CAN-FD,C1NBTCFGH 内的 BRP 可以做我期望它做的事情。 我花了一点时间才弄清楚发生了什么,因为波特率太高了。
共2条
1/1 1 跳转至页
CAN时钟分频器在CANbus模块上不执行任何操作的原因?

关键词: CAN 分频器 CANbus 微控制器

2楼
CAN时钟分频器在CANbus模块上不执行任何操作的原因是因为您只使用普通的CAN,而不是CAN-FD。在普通的CAN模式下,数据传输速率由CAN标称位时间配置寄存器中的BRP(波特率预分频器)控制。所以即使CANCLKCON中的CANCLKDIV被设置,它也不会对CAN总线的传输速率产生影响。
在您的情况下,您只需要使用C1NBTCFGH内的BRP来控制标称波特率,它可以执行您所期望的任务。
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【EEPW电子工程师创研计划】技术变现通道已开启~ | |
发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
【EEPW在线】E起听工程师的声音! | |
“我踩过的那些坑”主题活动——第001期 | |
高校联络员开始招募啦!有惊喜!! | |
【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
送您一块开发板,2025年“我要开发板活动”又开始了! | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
多组DCTODC电源方案被打赏50分 | |
【我踩过的那些坑】STM32cubeMX软件的使用过程中的“坑”被打赏50分 | |
新手必看!C语言精华知识:表驱动法被打赏50分 | |
【我踩过的那些坑】杜绑线问题被打赏50分 | |
【我踩过的那些坑】STM32的硬件通讯调试过程的“坑”被打赏50分 | |
【我踩过的那些坑】晶振使用的问题被打赏100分 | |
【我踩过的那些坑】电感选型错误导致的处理器连接不上被打赏50分 | |
【我踩过的那些坑】工作那些年踩过的记忆深刻的坑被打赏10分 | |
【我踩过的那些坑】DRC使用位置错误导致的问题被打赏100分 | |
我踩过的那些坑之混合OTL功放与落地音箱被打赏50分 |