summaryrefslogtreecommitdiff
path: root/bsp/at32/libraries
diff options
context:
space:
mode:
authorMeco Man <[email protected]>2023-01-12 01:35:20 -0500
committerMan, Jianting (Meco) <[email protected]>2023-01-29 08:44:07 -0500
commit7e177ebf1a7b73489d4262c0901edc8ef7c8ad8f (patch)
tree403ea8af4e6d9a5a228503c96c0c66b0226b4d4b /bsp/at32/libraries
parent9db73a47c45f94668bb7a5947402ec5982beedd1 (diff)
[at32][can]修复CAN驱动返回消息时,错误给id和ide赋值问题
该驱动收到can消息时,给上级返回消息结构的id和ide成员赋值不正确。 Signed-off-by: 李刚 <[email protected]>
Diffstat (limited to 'bsp/at32/libraries')
-rw-r--r--bsp/at32/libraries/rt_drivers/drv_can.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/bsp/at32/libraries/rt_drivers/drv_can.c b/bsp/at32/libraries/rt_drivers/drv_can.c
index f9f4a3024a..30373e9176 100644
--- a/bsp/at32/libraries/rt_drivers/drv_can.c
+++ b/bsp/at32/libraries/rt_drivers/drv_can.c
@@ -589,12 +589,17 @@ static int _can_recvmsg(struct rt_can_device *can, void *buf, rt_uint32_t fifo)
pmsg->data[7] = rx_message.data[7];
pmsg->len = rx_message.dlc;
- pmsg->id = rx_message.id_type;
if (rx_message.id_type == CAN_ID_STANDARD)
+ {
pmsg->id = rx_message.standard_id;
+ pmsg->ide = RT_CAN_STDID;
+ }
else
- pmsg->ide = rx_message.extended_id;
+ {
+ pmsg->id = rx_message.extended_id;
+ pmsg->ide = RT_CAN_EXTID;
+ }
pmsg->rtr = rx_message.frame_type;
pmsg->hdr_index = rx_message.filter_index;