我一直在使用 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网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
【换取逻辑分析仪】自制底板并驱动ArduinoNanoRP2040ConnectLCD扩展板被打赏47分 | |
【分享评测,赢取加热台】RISC-V GCC 内嵌汇编使用被打赏38分 | |
【换取逻辑分析仪】-基于ADI单片机MAX78000的简易MP3音乐播放器被打赏48分 | |
我想要一部加热台+树莓派PICO驱动AHT10被打赏38分 | |
【换取逻辑分析仪】-硬件SPI驱动OLED屏幕被打赏36分 | |
换逻辑分析仪+上下拉与多路选择器被打赏29分 | |
Let'sdo第3期任务合集被打赏50分 | |
换逻辑分析仪+Verilog三态门被打赏27分 | |
换逻辑分析仪+Verilog多输出门被打赏24分 | |
【分享评测,赢取加热台】使用8051单片机驱动WS2812被打赏40分 |