重新组织了文件的防止

This commit is contained in:
NeoZng
2023-01-02 23:20:35 +08:00
parent c05513587c
commit bfaae13b59
26 changed files with 105 additions and 62 deletions

View File

@@ -101,4 +101,6 @@ void HAL_CAN_RxFifo1MsgPendingCallback(CAN_HandleTypeDef *hcan)
- `CANAddFilter()`在每次使用`CANRegister()`的时候被调用,用于给当前注册的实例添加过滤器规则并设定处理对应`rx_id`的接收FIFO。过滤器的作用是减小CAN收发器的压力只接收符合过滤器规则的报文否则不会产生接收中断
- `HAL_CAN_RxFifo0MsgPendingCallback()``HAL_CAN_RxFifo1MsgPendingCallback()`都是对HAL的CAN回调函数的重定义原本的callback是`__week`修饰的弱定义当发生FIFO0或FIFO1有新消息到达的时候对应的callback会被调用。`CANFIFOxCallback()`随后被前两者调用并根据接收id和硬件中断来源哪一个CAN硬件CAN1还是CAN2调用对应的instance的回调函数进行协议解析。
- `HAL_CAN_RxFifo0MsgPendingCallback()``HAL_CAN_RxFifo1MsgPendingCallback()`都是对HAL的CAN回调函数的重定义原本的callback是`__week`修饰的弱定义当发生FIFO0或FIFO1有新消息到达的时候对应的callback会被调用。`CANFIFOxCallback()`随后被前两者调用并根据接收id和硬件中断来源哪一个CAN硬件CAN1还是CAN2调用对应的instance的回调函数进行协议解析。
- 当有一个模块注册了多个can实例时通过`CANInstance.id`,使用强制类型转换将其转换成对应模块的实例指针,就可以对不同的模块实例进行回调处理了。

View File

@@ -55,6 +55,7 @@ SPIInstance *SPIRegister(SPI_Init_Config_s *conf);
/**
* @brief 通过spi向对应从机发送数据
* @todo 后续加入阻塞模式下的timeout参数
*
* @param spi_ins spi实例指针
* @param ptr_data 要发送的数据
@@ -73,7 +74,8 @@ void SPIRecv(SPIInstance *spi_ins, uint8_t *ptr_data, uint8_t len);
/**
* @brief 通过spi利用移位寄存器同时收发数据
*
* @todo 后续加入阻塞模式下的timeout参数
*
* @param spi_ins spi实例指针
* @param ptr_data_rx 接收数据地址
* @param ptr_data_tx 发送数据地址