diff options
| author | Fanming <[email protected]> | 2019-12-17 17:53:16 +0800 |
|---|---|---|
| committer | Fanming <[email protected]> | 2019-12-17 17:53:16 +0800 |
| commit | f3ee2dd186582715fb0d9bfca5edf8594f9a0d79 (patch) | |
| tree | c490e937d1ee875572d0e3e5657a3548843272e3 /components | |
| parent | 75a3f3dd3a930eab1dc58fa0258a9d1605a0ac11 (diff) | |
[drivers/sensor]disable irq only when the sensor and module sensors are all cloesed.
Diffstat (limited to 'components')
| -rw-r--r-- | components/drivers/sensors/sensor.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/components/drivers/sensors/sensor.c b/components/drivers/sensors/sensor.c index 91b256bd66..0539ffd90d 100644 --- a/components/drivers/sensors/sensor.c +++ b/components/drivers/sensors/sensor.c @@ -211,12 +211,6 @@ static rt_err_t rt_sensor_close(rt_device_t dev) sensor->config.power = RT_SENSOR_POWER_DOWN; } - /* Sensor disable interrupt */ - if (sensor->config.irq_pin.pin != RT_PIN_NONE) - { - rt_pin_irq_enable(sensor->config.irq_pin.pin, RT_FALSE); - } - if (sensor->module != RT_NULL && sensor->info.fifo_max > 0 && sensor->data_buf != RT_NULL) { for (i = 0; i < sensor->module->sen_num; i ++) @@ -235,6 +229,11 @@ static rt_err_t rt_sensor_close(rt_device_t dev) } } } + /* Sensor disable interrupt */ + if (sensor->config.irq_pin.pin != RT_PIN_NONE) + { + rt_pin_irq_enable(sensor->config.irq_pin.pin, RT_FALSE); + } __exit: if (sensor->module) |
