未验证 提交 c8d92d75 编写于 作者: C cmbjxxiao 提交者: GitHub

fix bugs of hc32 driver adc and can (#6077)

* fix bugs of hc32 driver adc and can
上级 14cd8d01
......@@ -237,7 +237,7 @@ menu "On-chip Peripheral Drivers"
bool "Enable CAN"
default n
select RT_USING_CAN
select BSP_USING_TCA9539
select RT_CAN_USING_HDR
if BSP_USING_CAN
config BSP_USING_CAN1
bool "using can1"
......
......@@ -8,6 +8,7 @@
* Date Author Notes
* 2022-04-28 CDT first version
* 2022-06-08 xiaoxiaolisunny add hc32f460 series
* 2022-06-14 CDT fix a bug of internal trigger
*/
#include <board.h>
......@@ -128,8 +129,8 @@ static void _adc_internal_trigger1_set(adc_device *p_adc_dev)
default:
break;
}
AOS_CommonTriggerCmd(u32TriggerSel, AOS_COMM_TRIG1, (en_functional_state_t)p_adc_dev->init.internal_trig0_comtrg0_enable);
AOS_CommonTriggerCmd(u32TriggerSel, AOS_COMM_TRIG2, (en_functional_state_t)p_adc_dev->init.internal_trig0_comtrg1_enable);
AOS_CommonTriggerCmd(u32TriggerSel, AOS_COMM_TRIG1, (en_functional_state_t)p_adc_dev->init.internal_trig1_comtrg0_enable);
AOS_CommonTriggerCmd(u32TriggerSel, AOS_COMM_TRIG2, (en_functional_state_t)p_adc_dev->init.internal_trig1_comtrg1_enable);
#endif
#if defined(HC32F460)
......@@ -144,8 +145,8 @@ static void _adc_internal_trigger1_set(adc_device *p_adc_dev)
default:
break;
}
AOS_CommonTriggerCmd(u32TriggerSel, AOS_COMM_TRIG1, (en_functional_state_t)p_adc_dev->init.internal_trig0_comtrg0_enable);
AOS_CommonTriggerCmd(u32TriggerSel, AOS_COMM_TRIG2, (en_functional_state_t)p_adc_dev->init.internal_trig0_comtrg1_enable);
AOS_CommonTriggerCmd(u32TriggerSel, AOS_COMM_TRIG1, (en_functional_state_t)p_adc_dev->init.internal_trig1_comtrg0_enable);
AOS_CommonTriggerCmd(u32TriggerSel, AOS_COMM_TRIG2, (en_functional_state_t)p_adc_dev->init.internal_trig1_comtrg1_enable);
#endif
AOS_SetTriggerEventSrc(u32TriggerSel, p_adc_dev->init.internal_trig1_sel);
}
......
......@@ -8,6 +8,7 @@
* Date Author Notes
* 2022-04-28 CDT first version
* 2022-06-07 xiaoxiaolisunny add hc32f460 series
* 2022-06-08 CDT fix a bug of RT_CAN_CMD_SET_FILTER
*/
#include "drv_can.h"
......@@ -274,7 +275,14 @@ static rt_err_t _can_control(struct rt_can_device *can, int cmd, void *arg)
{
p_can_dev->ll_init.pstcFilter[i].u32ID = filter_cfg->items[i].id;
p_can_dev->ll_init.pstcFilter[i].u32IDMask = filter_cfg->items[i].mask;
p_can_dev->ll_init.pstcFilter[i].u32IDType = filter_cfg->items[i].ide;
if (filter_cfg->items[i].ide == RT_CAN_STDID)
{
p_can_dev->ll_init.pstcFilter[i].u32IDType = CAN_ID_STD;
}
else
{
p_can_dev->ll_init.pstcFilter[i].u32IDType = CAN_ID_EXT;
}
}
}
(void)CAN_Init(p_can_dev->instance, &p_can_dev->ll_init);
......@@ -623,7 +631,7 @@ int rt_hw_can_init(void)
g_can_dev_array[i].ll_init.u16FilterSelect = CAN_FILTER1;
g_can_dev_array[i].rt_can.config = rt_can_config;
/* register CAN1 device */
/* register CAN device */
rt_hw_board_can_init(g_can_dev_array[i].instance);
rt_hw_can_register(&g_can_dev_array[i].rt_can,
g_can_dev_array[i].init.name,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册