13 Commits

Author SHA1 Message Date
d8d96bd242 413 can 异常处理逻辑尝试调整
将仅在 ACT 异常处理结束发送等待改为所有异常均结束发送等待。
待测试验证。

Signed-off-by: a1012112796 <1012112796@qq.com>
2024-11-13 15:39:03 +08:00
5f6eb7aa69 Revert "413 can 通信启用自动重传功能"
This reverts commit 3a05efb36b.
2024-11-12 15:45:03 +08:00
3a05efb36b 413 can 通信启用自动重传功能
Signed-off-by: a1012112796 <1012112796@qq.com>
2024-11-12 15:38:46 +08:00
de0f671c26 405 dr: 设备 dma 配置
Signed-off-by: a1012112796 <1012112796@qq.com>
2024-07-31 14:51:22 +08:00
aa1b0ccb18 405 DR: 启用 ulog & 系统线程调整
Signed-off-by: a1012112796 <1012112796@qq.com>
2024-07-31 09:50:16 +08:00
7faf6491ec 405: 调整默认波特率为 460800
部分适配小改

Signed-off-by: a1012112796 <1012112796@qq.com>
2024-07-29 09:51:17 +08:00
49fcacf9cc 405 rtt: 部分配置调整
Signed-off-by: a1012112796 <1012112796@qq.com>
2024-07-26 09:03:23 +08:00
ec86a22bb1 405 dr: spi 驱动测试初步 ok
Signed-off-by: a1012112796 <1012112796@qq.com>
2024-07-25 17:57:06 +08:00
1b85816262 405 链接问题解决
Signed-off-by: a1012112796 <1012112796@qq.com>
2024-07-25 13:38:49 +08:00
481910f755 dr 驱动适配 sdio & usb
Signed-off-by: a1012112796 <1012112796@qq.com>
2024-07-25 08:40:48 +08:00
c1bcad0c50 405 iap 工程结构调试
Signed-off-by: a1012112796 <1012112796@qq.com>
2024-07-24 16:22:31 +08:00
b1d8ce2643 添加 405 iap 主工程
Signed-off-by: a1012112796 <1012112796@qq.com>
2024-07-24 08:14:57 +08:00
007ad1dda6 调整 413 rtt 结构,预备添加 405 主工程
Signed-off-by: a1012112796 <1012112796@qq.com>
2024-07-23 16:31:02 +08:00
+17 -7
View File
@@ -1088,13 +1088,13 @@ void CAN3_SCE_IRQHandler(void)
break; break;
case RT_CAN_BUS_ACK_ERR:/* attention !!! test ack err's unit is transmit unit */ case RT_CAN_BUS_ACK_ERR:/* attention !!! test ack err's unit is transmit unit */
drv_can3.device.status.ackerrcnt++; drv_can3.device.status.ackerrcnt++;
if (!READ_BIT(drv_can3.CanHandle.Instance->TSR, CAN_FLAG_TXOK0)) // if (!READ_BIT(drv_can3.CanHandle.Instance->TSR, CAN_FLAG_TXOK0))
rt_hw_can_isr(&drv_can3.device, RT_CAN_EVENT_TX_FAIL | 0 << 8); // rt_hw_can_isr(&drv_can3.device, RT_CAN_EVENT_TX_FAIL | 0 << 8);
else if (!READ_BIT(drv_can3.CanHandle.Instance->TSR, CAN_FLAG_TXOK0)) // else if (!READ_BIT(drv_can3.CanHandle.Instance->TSR, CAN_FLAG_TXOK0))
rt_hw_can_isr(&drv_can3.device, RT_CAN_EVENT_TX_FAIL | 1 << 8); // rt_hw_can_isr(&drv_can3.device, RT_CAN_EVENT_TX_FAIL | 1 << 8);
else if (!READ_BIT(drv_can3.CanHandle.Instance->TSR, CAN_FLAG_TXOK0)) // else if (!READ_BIT(drv_can3.CanHandle.Instance->TSR, CAN_FLAG_TXOK0))
rt_hw_can_isr(&drv_can3.device, RT_CAN_EVENT_TX_FAIL | 2 << 8); // rt_hw_can_isr(&drv_can3.device, RT_CAN_EVENT_TX_FAIL | 2 << 8);
break; // break;
case RT_CAN_BUS_IMPLICIT_BIT_ERR: case RT_CAN_BUS_IMPLICIT_BIT_ERR:
case RT_CAN_BUS_EXPLICIT_BIT_ERR: case RT_CAN_BUS_EXPLICIT_BIT_ERR:
drv_can3.device.status.biterrcnt++; drv_can3.device.status.biterrcnt++;
@@ -1109,6 +1109,16 @@ void CAN3_SCE_IRQHandler(void)
drv_can3.device.status.snderrcnt = (errtype >> 16 & 0xFF); drv_can3.device.status.snderrcnt = (errtype >> 16 & 0xFF);
drv_can3.device.status.errcode = errtype & 0x07; drv_can3.device.status.errcode = errtype & 0x07;
hcan->Instance->MSR |= CAN_MSR_ERRI; hcan->Instance->MSR |= CAN_MSR_ERRI;
// 警告: 为了避免can 发送线程在异常情况被阻塞,在遇到异常时,强制异常结束发送逻辑
// 本段代码待测试 !!!!
if (!READ_BIT(drv_can3.CanHandle.Instance->TSR, CAN_FLAG_TXOK0))
rt_hw_can_isr(&drv_can3.device, RT_CAN_EVENT_TX_FAIL | 0 << 8);
else if (!READ_BIT(drv_can3.CanHandle.Instance->TSR, CAN_FLAG_TXOK0))
rt_hw_can_isr(&drv_can3.device, RT_CAN_EVENT_TX_FAIL | 1 << 8);
else if (!READ_BIT(drv_can3.CanHandle.Instance->TSR, CAN_FLAG_TXOK0))
rt_hw_can_isr(&drv_can3.device, RT_CAN_EVENT_TX_FAIL | 2 << 8);
rt_interrupt_leave(); rt_interrupt_leave();
} }
#endif /* BSP_USING_CAN3 */ #endif /* BSP_USING_CAN3 */