diff options
| author | wdfk-prog <[email protected]> | 2022-11-22 10:45:51 +0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2022-11-21 21:45:51 -0500 |
| commit | 569e2ae1e8671bdb17b3fa7b4197fdff6ad5cf1d (patch) | |
| tree | 14b7f9aa35e3ec0ae5c21396a88fafd7b874cc67 /bsp/n32/libraries | |
| parent | 84eab69604df689716b54e1e6c38877f05d03b9f (diff) | |
[CAN]update struct can_filter_item and rt_can_msg (#6556)
* 修改ry命令,已便于自定义保存路径
* modified: components/utilities/ymodem/ry_sy.c
* 修复从被动错误恢复后发送返回异常
* 修复在自动重传模式下,ACK异常阻塞线程
- 删除TX中断函数else分支。仅当RQCP位 置一才进入该中断
- 添加SCE中断函数中关于ACK_ERR的else判断。自动重传模式下会进入该判断,打断自动重传释放完成量。
* 增加对于CAN1与CAN2的SCE中断和TX中断的公共处理函数
* formatting格式化代码
* update struct can_filter_item and rt_can_msg
1. 对过滤器号和索引号结构体定义中同一名称hdr进行重命名hdr_bank和hdr_index,
以便准确区分.采用宏定义兼容以前变量名.
2. 添加接收标识rxfifo,已指明是哪个RXFIFO.
* 更正42M下的波特率
* 修复接收获取索引号错误
* 添加接收标识
* 更新注释
* 取消CANFD限制
* update struct can_filter_item and rt_can_msg
Diffstat (limited to 'bsp/n32/libraries')
| -rw-r--r-- | bsp/n32/libraries/n32_drivers/drv_can.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/bsp/n32/libraries/n32_drivers/drv_can.c b/bsp/n32/libraries/n32_drivers/drv_can.c index 6c63c02ae7..138aa69f02 100644 --- a/bsp/n32/libraries/n32_drivers/drv_can.c +++ b/bsp/n32/libraries/n32_drivers/drv_can.c @@ -510,7 +510,7 @@ static rt_err_t control(struct rt_can_device *can, int cmd, void *arg) /* Get default filter */ for(int i = 0; i < filter_cfg->count; i++) { - if (filter_cfg->items[i].hdr == -1) + if (filter_cfg->items[i].hdr_bank == -1) { /* Can banks 0~13 */ drv_can->FilterConfig.Filter_Num = i; @@ -518,7 +518,7 @@ static rt_err_t control(struct rt_can_device *can, int cmd, void *arg) else { /* Use user-defined filter bank settings */ - drv_can->FilterConfig.Filter_Num = filter_cfg->items[i].hdr; + drv_can->FilterConfig.Filter_Num = filter_cfg->items[i].hdr_bank; } /* Filter groups work in identifier masking bit mode */ @@ -826,22 +826,22 @@ static int can_recvmsg_rtmsg(CAN_Module *CANx, struct rt_can_msg *pmsg, uint32_t pmsg->rtr = RT_CAN_RTR; } - /* get hdr */ + /* get hdr_index */ #if defined(SOC_N32G45X) || defined(SOC_N32WB452) if (CANx == CAN1) { - pmsg->hdr = (RxMessage->FMI + 1) >> 1; + pmsg->hdr_index = (RxMessage->FMI + 1) >> 1; } #ifdef CAN2 else if (CANx == CAN2) { - pmsg->hdr = (RxMessage->FMI + 1) >> 1; + pmsg->hdr_index = (RxMessage->FMI + 1) >> 1; } #endif #elif defined(SOC_N32L43X) || defined(SOC_N32L40X) || defined(SOC_N32G43X) if (CANx == CAN) { - pmsg->hdr = (RxMessage->FMI + 1) >> 1; + pmsg->hdr_index = (RxMessage->FMI + 1) >> 1; } #endif |
