diff options
| author | gbcwbz <[email protected]> | 2016-04-14 23:47:32 +0800 |
|---|---|---|
| committer | gbcwbz <[email protected]> | 2016-04-14 23:47:32 +0800 |
| commit | 0d63eb5f6d2f94ca3507df72072d50f1c0e94698 (patch) | |
| tree | 4e6f8a7faf3458605f52dfd58a815c3f72cfba5e /components/drivers/misc | |
| parent | b420e83da43641089727dd7a68cb205d513121cb (diff) | |
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
Diffstat (limited to 'components/drivers/misc')
| -rw-r--r-- | components/drivers/misc/pin.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/components/drivers/misc/pin.c b/components/drivers/misc/pin.c index f3577a11d5..0a200af5aa 100644 --- a/components/drivers/misc/pin.c +++ b/components/drivers/misc/pin.c @@ -101,18 +101,21 @@ int rt_device_pin_register(const char *name, const struct rt_pin_ops *ops, void /* RT-Thread Hardware PIN APIs */ 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); } FINSH_FUNCTION_EXPORT_ALIAS(rt_pin_mode, pinMode, set hardware pin mode); 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); } FINSH_FUNCTION_EXPORT_ALIAS(rt_pin_write, pinWrite, write value to hardware 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); } FINSH_FUNCTION_EXPORT_ALIAS(rt_pin_read, pinRead, read status from hardware pin); |
