Merge pull request #4964 from mysterywolf/finshgetchar

[finsh] 将finsh_getchar函数暴露出来
This commit is contained in:
Bernard Xiong 2021-08-22 19:42:32 +08:00 committed by GitHub
commit a280fb8f2a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 4 deletions

View File

@ -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;

View File

@ -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);