diff options
| author | Meco Man <[email protected]> | 2023-01-12 01:35:20 -0500 |
|---|---|---|
| committer | Man, Jianting (Meco) <[email protected]> | 2023-01-29 08:44:07 -0500 |
| commit | 7e177ebf1a7b73489d4262c0901edc8ef7c8ad8f (patch) | |
| tree | 403ea8af4e6d9a5a228503c96c0c66b0226b4d4b /bsp/at32/libraries | |
| parent | 9db73a47c45f94668bb7a5947402ec5982beedd1 (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.c | 9 |
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; |
