瀏覽代碼

[finsh] 将finsh_getchar函数暴露出来

Meco Man 3 年之前
父節點
當前提交
60aaa9f9d8
共有 2 個文件被更改,包括 5 次插入4 次删除
  1. 4 4
      components/finsh/shell.c
  2. 1 0
      components/finsh/shell.h

+ 4 - 4
components/finsh/shell.c

@@ -164,7 +164,7 @@ void finsh_set_prompt_mode(rt_uint32_t prompt_mode)
     shell->prompt_mode = prompt_mode;
 }
 
-static int finsh_getchar(void)
+char finsh_getchar(void)
 {
 #ifdef RT_USING_DEVICE
 #ifdef RT_USING_POSIX
@@ -176,7 +176,7 @@ static int finsh_getchar(void)
     while (rt_device_read(shell->device, -1, &ch, 1) != 1)
         rt_sem_take(&shell->rx_sem, RT_WAITING_FOREVER);
 
-    return (int)ch;
+    return ch;
 #endif
 #else
     extern char rt_hw_console_getchar(void);
@@ -329,7 +329,7 @@ static void finsh_wait_auth(void)
             while (1)
             {
                 /* read one character from device */
-                ch = finsh_getchar();
+                ch = (int)finsh_getchar();
                 if (ch < 0)
                 {
                     continue;
@@ -541,7 +541,7 @@ void finsh_thread_entry(void *parameter)
 
     while (1)
     {
-        ch = finsh_getchar();
+        ch = (int)finsh_getchar();
         if (ch < 0)
         {
             continue;

+ 1 - 0
components/finsh/shell.h

@@ -97,6 +97,7 @@ rt_uint32_t finsh_get_echo(void);
 int finsh_system_init(void);
 void finsh_set_device(const char* device_name);
 const char* finsh_get_device(void);
+char finsh_getchar(void);
 
 rt_uint32_t finsh_get_prompt_mode(void);
 void finsh_set_prompt_mode(rt_uint32_t prompt_mode);