From 7e177ebf1a7b73489d4262c0901edc8ef7c8ad8f Mon Sep 17 00:00:00 2001 From: Meco Man <920369182@qq.com> Date: Thu, 12 Jan 2023 01:35:20 -0500 Subject: [PATCH] =?UTF-8?q?[at32][can]=E4=BF=AE=E5=A4=8DCAN=E9=A9=B1?= =?UTF-8?q?=E5=8A=A8=E8=BF=94=E5=9B=9E=E6=B6=88=E6=81=AF=E6=97=B6=EF=BC=8C?= =?UTF-8?q?=E9=94=99=E8=AF=AF=E7=BB=99id=E5=92=8Cide=E8=B5=8B=E5=80=BC?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 该驱动收到can消息时,给上级返回消息结构的id和ide成员赋值不正确。 Signed-off-by: 李刚 --- bsp/at32/libraries/rt_drivers/drv_can.c | 9 +++++++-- 1 file 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; -- GitLab