fix hardfault when RT_CAN_USING_BUS_HOOK is enabled in bsp/stm32f10x
function `rt_pin_write` is invoked by function `can_bus_hook`, and it should to be initialized by gpio.c. but gpio.c was not added in SConscript
This commit is contained in:
parent
b420e83da4
commit
0d63eb5f6d
|
@ -12,6 +12,9 @@ led.c
|
||||||
usart.c
|
usart.c
|
||||||
""")
|
""")
|
||||||
|
|
||||||
|
if GetDepend(['RT_USING_PIN']):
|
||||||
|
src += ['gpio.c']
|
||||||
|
|
||||||
# add canbus driver.
|
# add canbus driver.
|
||||||
if GetDepend('RT_USING_CAN'):
|
if GetDepend('RT_USING_CAN'):
|
||||||
src += ['bxcan.c']
|
src += ['bxcan.c']
|
||||||
|
|
|
@ -84,7 +84,7 @@
|
||||||
|
|
||||||
#define RT_USING_CAN
|
#define RT_USING_CAN
|
||||||
|
|
||||||
//#define RT_CAN_USING_BUS_HOOK
|
#define RT_CAN_USING_BUS_HOOK
|
||||||
|
|
||||||
#define RT_CAN_USING_HDR
|
#define RT_CAN_USING_HDR
|
||||||
/* SECTION: device filesystem */
|
/* SECTION: device filesystem */
|
||||||
|
|
|
@ -101,18 +101,21 @@ int rt_device_pin_register(const char *name, const struct rt_pin_ops *ops, void
|
||||||
/* RT-Thread Hardware PIN APIs */
|
/* RT-Thread Hardware PIN APIs */
|
||||||
void rt_pin_mode(rt_base_t pin, rt_base_t mode)
|
void rt_pin_mode(rt_base_t pin, rt_base_t mode)
|
||||||
{
|
{
|
||||||
|
RT_ASSERT(_hw_pin.ops != RT_NULL);
|
||||||
_hw_pin.ops->pin_mode(&_hw_pin.parent, pin, mode);
|
_hw_pin.ops->pin_mode(&_hw_pin.parent, pin, mode);
|
||||||
}
|
}
|
||||||
FINSH_FUNCTION_EXPORT_ALIAS(rt_pin_mode, pinMode, set hardware pin mode);
|
FINSH_FUNCTION_EXPORT_ALIAS(rt_pin_mode, pinMode, set hardware pin mode);
|
||||||
|
|
||||||
void rt_pin_write(rt_base_t pin, rt_base_t value)
|
void rt_pin_write(rt_base_t pin, rt_base_t value)
|
||||||
{
|
{
|
||||||
|
RT_ASSERT(_hw_pin.ops != RT_NULL);
|
||||||
_hw_pin.ops->pin_write(&_hw_pin.parent, pin, value);
|
_hw_pin.ops->pin_write(&_hw_pin.parent, pin, value);
|
||||||
}
|
}
|
||||||
FINSH_FUNCTION_EXPORT_ALIAS(rt_pin_write, pinWrite, write value to hardware pin);
|
FINSH_FUNCTION_EXPORT_ALIAS(rt_pin_write, pinWrite, write value to hardware pin);
|
||||||
|
|
||||||
int rt_pin_read(rt_base_t pin)
|
int rt_pin_read(rt_base_t pin)
|
||||||
{
|
{
|
||||||
|
RT_ASSERT(_hw_pin.ops != RT_NULL);
|
||||||
return _hw_pin.ops->pin_read(&_hw_pin.parent, pin);
|
return _hw_pin.ops->pin_read(&_hw_pin.parent, pin);
|
||||||
}
|
}
|
||||||
FINSH_FUNCTION_EXPORT_ALIAS(rt_pin_read, pinRead, read status from hardware pin);
|
FINSH_FUNCTION_EXPORT_ALIAS(rt_pin_read, pinRead, read status from hardware pin);
|
||||||
|
|
Loading…
Reference in New Issue