if (thread != RT_NULL) { rt_thread_startup(thread); } else { ret = RT_ERROR; } return ret; } /导出到 msh 命令列表中 */ MSH_CMD_EXPORT(uart_sample, uart device sample); 测试,可以看到串口0发送了信息”hello RT-Thread!”,用串口调试助手进行数据发送,可以看到串口0接收到数据并且返回数据。
直接就是index++。 ok,这样在rtthread接收到串口消息的时候就可以通过遍历这个地址空间中的name,来识别相应的命令,适配成功,就可以利用结构体的函数指针,调用相应的动作了 最后,在编译后生成的map文件中查找,终于找到了答案。 以下是自己写的demo里的自定义命令,可以看到,所有的rtthread的finsh命令都在一个名为FSymTa...
第四步:在工程目录下打开env,输入scons --target=mdk5命令生成新的工程 scons命令大家根据自己要生成的工程选择,我这里用的mdk5 第五步:打开工程,编译 三、使用keil添加新文件 添加c文件 第一步:打开工程,选中一个文件夹,右键,点击“Add Existing Files to Group …”(如果要新建一个文件,选择“Add New item...
要使用FinSH 命令首先要添加FinSH组件,添加组件的详细过程见手把手教你移植RT-Thread系统,FinSH组件添加成后,打开建立好的工程,在工程中USER文件夹下新建一个test.c的文件,并将这个文件添加到工程中。 然后在test.c中间中添加一个简单的测试代码 代码语言:javascript 复制 #include"board.h"voidtest_hello(void){rt...
rt_thread_startup(tid); ... 这个函数的主要功能就是做finsh的初始化,前面是获取系统或用户命令的首尾地址,之前分析过了。 然后主要就是创建控制台线程。 创建一个信号量。 接着调用rt_thread_startup(tid)。 finsh_shell结构体 这里有一个结构体finsh_shell,几乎是最重要的东西了 ...
在RT-Thread命令行中输入tcp_client命令 + 服务器IP +服务器端口号 msh /> tcp_client 192.168.75.1 7001 源码见文末尾,该源码包通过sons —menuconfig弹出裁剪配置界面,添加 RT-Thread online packages ---> miscellaneous packages ---> samples:kernel and components samples ---> a ...
创建RT-Thread标准版工程 (1)打开项目资源管理器。 (2)在项目资源管理器中右键 —> 新建 —> 项目。 (3)选择RT-Thread项目 —> 下一步。 (4)选择所需要的芯片型号 (5)选择这个项目,进行编译。 进行STM32CubeMX适配 (1)打开STM32CubeMX。 (2)因为我是STlink下载器,所以进行如下配置 ...
这个啊,就和PC端(我说PC,一般都喜欢指代搭载windows系统的计算机)或者linux系统非常常见的命令行指令一样。是很方便的东西。 打开RT-Thread Settings 点击右侧那个看起来像“远小于”号的图标 点击组件,点击MSH:command shell 看到这个东西已经被启用 回到application中的main.c里 修改代码为如下所示 #include <rt...
AT 组件是基于 RT-Thread 系统的 AT Server 和 AT Client 的实现,组件完成 AT 命令的发送、命令格式及参数判断、命令的响应、响应数据的接收、响应数据的解析、URC 数据处理等整个 AT 命令数据交互流程。 通过AT 组件,设备可以作为 AT Client 使用串口连接其他设备发送并接收解析数据,可以作为 AT Server 让其他...