控制器局域网(CAN)与通用串行总线(USB)通信技术详解
在数字通信领域,控制器局域网(CAN)和通用串行总线(USB)是两种重要的通信方式。下面将详细介绍它们的相关知识,包括CAN的设置、使用以及USB的工作原理。
1. 控制器局域网(CAN)
1.1 CAN中断优先级建议
建议降低CAN中断优先级,因为HAL函数使用SysTick中断为内部操作和HAL_Delay函数创建精确的1ms节拍。SysTick中断在外设单元中具有最高优先级,所以为CAN中断分配较低优先级不会影响它,否则可能会降低HAL_Delay函数的精度。
1.2 CAN模块的设置
- 通过C++语言设置 :可以利用Mbed及其可用函数来调整CAN模块属性。首先要调整Tx和Rx引脚,可通过CAN类实现,需向该类提供Tx和Rx引脚名称。初始化后可配置频率参数,并且在发生中断时可以调用回调函数。
- 通过MicroPython设置 :MicroPython有CAN类来处理CAN操作。使用
pyb.CAN(bus)函数创建CAN模块,其中bus代表CAN模块编号。在MicroPython固件中定义了CAN1和CAN2模块,CAN1的Rx和Tx引脚分别为PB8和PB9,CAN2的Rx和Tx引脚分别为PB12和PB13。创建CAN模块后,可使用init(mode, prescaler, sjw, bs1, bs2, auto_restart, baudrate)函数进行初
超级会员免费看
订阅专栏 解锁全文
2252

被折叠的 条评论
为什么被折叠?



