diff --git a/components/finsh/finsh.h b/components/finsh/finsh.h index 68a37f2da5..e80eaab178 100644 --- a/components/finsh/finsh.h +++ b/components/finsh/finsh.h @@ -72,9 +72,7 @@ typedef unsigned long u_long; /* only for GNU GCC */ #if !(defined(__GNUC__) && defined(__x86_64__)) -//typedef unsigned int size_t; -#include -#include +typedef unsigned int size_t; #else #include #endif diff --git a/components/finsh/shell.c b/components/finsh/shell.c index 434b2a0952..ae0934f5d1 100644 --- a/components/finsh/shell.c +++ b/components/finsh/shell.c @@ -311,11 +311,10 @@ void finsh_thread_entry(void *parameter) if (shell->device == RT_NULL) { #ifdef RT_USING_CONSOLE - shell->device = rt_console_get_device(); - RT_ASSERT(shell->device); -// rt_device_set_rx_indicate(shell->device, finsh_rx_ind); -// rt_device_open(shell->device, (RT_DEVICE_OFLAG_RDWR | RT_DEVICE_FLAG_STREAM | RT_DEVICE_FLAG_INT_RX)); - rt_device_open(shell->device, (RT_DEVICE_OFLAG_RDWR | RT_DEVICE_FLAG_STREAM)); + shell->device = rt_console_get_device(); + RT_ASSERT(shell->device); + rt_device_set_rx_indicate(shell->device, finsh_rx_ind); + rt_device_open(shell->device, (RT_DEVICE_OFLAG_RDWR | RT_DEVICE_FLAG_STREAM | RT_DEVICE_FLAG_INT_RX)); #else RT_ASSERT(shell->device); #endif @@ -324,7 +323,7 @@ void finsh_thread_entry(void *parameter) while (1) { /* wait receive */ -// if (rt_sem_take(&shell->rx_sem, RT_WAITING_FOREVER) != RT_EOK) continue; + if (rt_sem_take(&shell->rx_sem, RT_WAITING_FOREVER) != RT_EOK) continue; /* read one character from device */ while (rt_device_read(shell->device, 0, &ch, 1) == 1) @@ -551,8 +550,6 @@ void finsh_thread_entry(void *parameter) shell->line_curpos = 0; } } /* end of device read */ - - rt_thread_delay(1); } }