经过一番摸索,下面我说下我最终的做法,应该会比两位大佬说的更加符合我的实际应用。首先找到shell线程获取数据的接口。在shell.c文件中大概位置如下,在这里加入数据拷贝
同时我发现接收到非指令的数据时,线程会发送错误报警,即你发啥返回啥,给上位机端解析造成麻烦,于是可以注释掉错误警告,如下位置
进入msh_exec函数,注释掉如下部分
到此大功告成,此方法不需要切换模式,且shell不响应非指令数据。
再次感谢两位大佬的解答
发布于4年前
经过一番摸索,下面我说下我最终的做法,应该会比两位大佬说的更加符合我的实际应用。首先找到shell线程获取数据的接口。在shell.c文件中大概位置如下,在这里加入数据拷贝
同时我发现接收到非指令的数据时,线程会发送错误报警,即你发啥返回啥,给上位机端解析造成麻烦,于是可以注释掉错误警告,如下位置
进入msh_exec函数,注释掉如下部分
到此大功告成,此方法不需要切换模式,且shell不响应非指令数据。
再次感谢两位大佬的解答
发布于4年前
问题已经解决,我在每次调用升级前把内存擦除一遍就可以,注意fal的擦除函数最大一次擦除4k
发布于4年前
跳转问题已经解决,是搞错了芯片容量
发布于4年前
我也想问,我现在的跳转不过去,芯片为stm32l476,不知道是不是这里的问题
问 shell指令串口和数据口使用同一个口的问题