MCP2517FD——模块说明及驱动移植——HAL库开发

        最近使用到了SPI转CAN模块——MCP2517FD,在进行驱动移植的时候遇到了一点问题,官方的驱动年代久远,本身包含了许多的错误,所以就借此机会将驱动修改以及使用的过程记录一下。

        这位博主对于MCP2517FD模块的介绍很详细,推荐大家看看。

MCP2517FD(一)——简介http://t.csdn.cn/uCEUZ        这篇文章对于模块的引脚介绍以及寄存器的控制等等都有介绍。

        模块在上电后需要单片机先通过SPI总线对模块进行初始化,主要就是操作寄存器进行读写。

        我将官方的驱动以及自己修改后的驱动,还有MCP2517FD的中英文数据手册一并上传了,需要使用的可以自行下载。

MCP2517模块驱动(官方驱动和进行修改后的驱动)及官方数据手册(中英文)_HAL库icon-default.png?t=M666https://download.csdn.net/download/Asgiftia/86398397        官方的驱动在导入之后会出现多处错误,我已将其进行修改,并且将驱动的函数进行了说明。

带SPI接口的外部CAN FD控制器 特性 通用 • 带SPI接口的外部CAN FD控制器 • 最高1 Mbps的仲裁比特率 • 最高8 Mbps的数据比特率 • CAN FD控制器模式 - CAN 2.0B和CAN FD混合模式 - CAN 2.0B模式 • 符合ISO 11898-1:2015 报文FIFO • 31个FIFO,可配置为发送或接收FIFO • 1个发送队列(Transmit Queue, TXQ) • 带32位时间戳的发送事件FIFO(Transmit Event FIFO, TEF) 报文发送 • 报文发送优先级: - 基于优先级位域,和/或 - 使用发送队列(Transmit Queue, TXQ)先发 送ID最小的报文 • 可编程自动重发尝试:无限制、 3次尝试或禁止 报文接收 • 32个灵活的过滤器和屏蔽器对象 • 每个对象均可配置为过滤: - 标准ID + 前18个数据位或 - 扩展ID • 32位时间戳 特殊功能 • VDD: 2.7V至5.5V • 工作电流:最大20 mA(5.5V, 40 MHz CAN时钟) • 休眠电流: 10 µA(典型值) • 报文对象位于RAM中: 2 KB • 最多3个可配置中断引脚 • 总线健康状况诊断和错误计数器 • 收发器待机控制 • 帧起始引脚,用于指示总线上报文的开头 • 温度范围: - 高温(H): –40°C至+150°C 振荡器选项 • 40、 20 或 4 MHz 晶振或陶瓷谐振器;或外部时钟 输入 • 带预分频器的时钟输出 SPI接口 • 最高20 MHz SPI时钟速度 • 支持SPI模式0,0和1,1 • 寄存器和位域的排列方式便于通过SPI高效访问 安全关键型系统 • 带CRC的SPI命令,用于检测SPI接口上的噪声 • 受纠错码(Error Correction Code, ECC)保护的 RAM 其他特性 • GPIO引脚: INT0和INT1可配置为通用I/O • 漏极开路输出: TXCAN、 INT、 INT0 和 INT1 引脚 可配置为推/挽或漏极开路输出
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值