Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
Console
FinSH
msh
finsh_set_device () bug
发布于 2022-02-20 17:08:29 浏览:710
订阅该版
 - 1 在while循环中等待接收数据时, rt_device_read是用局部变量device读取数据; - 2 如果此时执行函数finsh_set_device() 修改了shell的接口设备,shell->device改变;但 局部变量device 此时还是old_device - 3 当新的接口设备接收到数据调用finsh_rx_ind() 启动while循环调用 rt_device_read读取数据时返回0,无法退出这个循环;新的接口将不能执行finsh命令 - 4 用finsh命令的方式切换shell设备无法激活这个bug,因为这样切换时while循环没执行 - 5 应该讲清楚了 - 6 代码我是这样修改的: ```c while (rt_device_read(device, -1, &ch, 1) != 1){ rt_sem_take(&shell->rx_sem, RT_WAITING_FOREVER); if(shell->device != device){ device = shell->device; if (device == RT_NULL){ return -1; /* EOF */ } } ```
查看更多
mysterywolf
认证专家
2022-03-18
https://github.com/mysterywolf
https://github.com/RT-Thread/rt-thread/pull/5676 已经在此处修改掉 谢谢反馈
4
个回答
默认排序
按发布时间排序
winfeng
2022-02-20
这家伙很懒,什么也没写!
下面这条也是这个原因 **telnet_server 能打印 msh 提示符,但输入字符后回车没有反应** https://club.rt-thread.org/ask/question/433487.html
出出啊
2022-02-20
致男人们:劝说是不会有成果的。 —— 《单向街》
干脆去掉这个局部变量,直接用 shell->device 得了
RTT_逍遥
认证专家
2022-02-21
https://github.com/supperthomas
这个确实是个小bug。可以试试直接使用shell->device. 或者采用指针的指针来避免。
撰写答案
登录
注册新账号
关注者
0
被浏览
710
关于作者
winfeng
这家伙很懒,什么也没写!
提问
6
回答
45
被采纳
3
关注TA
发私信
相关问题
1
RT-THREAD shell无反应呢?
2
RT-thread2.0beta下用类似linux风格MSH,参数如何输入和导出
3
rt-thread finsh windows下的那个终端软件叫什么来着
4
板子上只有485接口,能把FINSH改造成485的么?
5
finsh最大字符问题
6
finsh命令个数是不是有限制啊
7
finsh支持转义字符吗
8
不用finsh如何知道堆栈使用量
9
强烈建议 RT-Thread下finsh原理深入分析
10
finsh输入命令全部返回null node
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
机器人操作系统 (ROS2) 和 RT-Thread 通信
4
五分钟玩转RT-Thread新社区
5
国产MCU移植系列教程汇总,欢迎查看!
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
如何用Ubuntu qemu跑zephyr_polling的蓝牙
2
分享一种很简单的不阻塞TCP发送方法
3
stm32c86使用串口3时无法正常读到中断的数据
4
如何用ART-PI跑zephyr_polling的蓝牙
5
掌上单片机实验室 – 基于 RTT 框架的第一个应用
热门标签
RT-Thread Studio
串口
LWIP
Env
SPI
AT
FinSH
Bootloader
CAN总线
ART-Pi
Hardfault
文件系统
USB
DMA
RT-Thread
线程
SCons
RT-Thread Nano
stm32
MQTT
ESP8266
ota
UART
RTC
freemodbus
rtthread
rt-smart
packages_软件包
I2C
WIZnet_W5500
flash
cubemx
FAL
定时器
BSP
AB32VG1
PWM
ADC
SDIO
msh
socket
LVGL
keil
Debug
C++_cpp
中断
编译报错
SFUD
SMP
MicroPython
本月问答贡献
出出啊
1431
个答案
317
次被采纳
小小李sunny
1342
个答案
267
次被采纳
crystal266
505
个答案
149
次被采纳
whj467467222
1212
个答案
142
次被采纳
张世争
590
个答案
135
次被采纳
本月文章贡献
出出啊
3
篇文章
5
次点赞
小小李sunny
1
篇文章
1
次点赞
crystal266
1
篇文章
3
次点赞
whj467467222
2
篇文章
4
次点赞
张世争
6
篇文章
14
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部