mirror of
https://github.com/RT-Thread/rt-thread.git
synced 2025-02-28 02:47:06 +08:00
Add device checking when set_device.
This commit is contained in:
parent
ca71f33303
commit
b0c1f8a79b
@ -116,7 +116,16 @@ void finsh_set_device(const char* device_name)
|
|||||||
|
|
||||||
RT_ASSERT(shell != RT_NULL);
|
RT_ASSERT(shell != RT_NULL);
|
||||||
dev = rt_device_find(device_name);
|
dev = rt_device_find(device_name);
|
||||||
if (dev != RT_NULL && rt_device_open(dev, RT_DEVICE_OFLAG_RDWR) == RT_EOK)
|
if (dev == RT_NULL)
|
||||||
|
{
|
||||||
|
rt_kprintf("finsh: can not find device: %s\n", device_name);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* check whether it's a same device */
|
||||||
|
if (dev == shell->device) return;
|
||||||
|
/* open this device and set the new device in finsh shell */
|
||||||
|
if (rt_device_open(dev, RT_DEVICE_OFLAG_RDWR) == RT_EOK)
|
||||||
{
|
{
|
||||||
if (shell->device != RT_NULL)
|
if (shell->device != RT_NULL)
|
||||||
{
|
{
|
||||||
@ -127,10 +136,6 @@ void finsh_set_device(const char* device_name)
|
|||||||
shell->device = dev;
|
shell->device = dev;
|
||||||
rt_device_set_rx_indicate(dev, finsh_rx_ind);
|
rt_device_set_rx_indicate(dev, finsh_rx_ind);
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
rt_kprintf("finsh: can not find device:%s\n", device_name);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
x
Reference in New Issue
Block a user