当前位置: 首页 > article >正文

使用rt thread studio新建一个rt thread工程的详细操作说明(以stm32F411CEU6)为例

新建工程

这里以rt thread 5.0以及stm32F411CEU6芯片为例,创建工程

先建一个工作空间

.metadata是建工作空间自己生成的。

这时候,工作空间是空的,没有项目:

新建项目

首先下载RT-thread源文件和芯片支持包:

2023.05.02:5.0版本可能没法识别c文件,可以换4.11

下载rt thread的SDK和stm32芯片支持库:

在资源浏览器看,就是这些内容:

查看磁盘上的文件:

配置cubeMX

先定义外部时钟:

再打开系统RTC时钟:

配置时钟树:

系统默认生成的时钟配置

修改后的时钟配置

配置SYS:

配置USART1:

上面的配置是进行调试时用的

配置项目信息:

点击生成代码就可以自动生成模板文件

cubeMX配置完之后会自动生成下面的文件夹:

现在可以编译一下:

编译完,就有上面的Debug文件夹,文件夹有bin的下载程序:

配置ulog

这个组件做程序调试很有用。

点击图标,打开功能

鼠标右键打开配置项

不然报错:

配置tk_printf

配置segger rtt

开启串口框架:

安装软件包:

保存后,配置rtconfig.h:

原来名称是USART1

在drivers/board.c对segger rtt进行初始化:

extern int rt_hw_jlink_rtt_init(void);
rt_hw_jlink_rtt_init();

这样就能用segger rtt直接向PC输出调试信息,省一个串口

使用示例及msh命令

在applications/main.c中定义:

#define DBG_TAG "main"
#define DBG_LVL DBG_LOG
#include <rtdbg.h>

#include <rtthread.h>
#include <sys/time.h>

void my_hello(void)
{
    rt_kprintf("hello world\n");
}

MSH_CMD_EXPORT(my_hello, msh cmd test);

int main(void)
{

    int count = 1;
    //ds3231初始化
    //rt_hw_ds3231_init();

    while (count++)
    {
        LOG_D("Hello RT-Thread!");
        rt_thread_mdelay(1000);
        /* 获取时间 */
    }

    return RT_EOK;
}

这里定义了一个交互命令,在rtt中可以进行使用:

带形参的函数加入MSH命令

在 RT-Thread 中,带参数的函数可以通过在 MSH 命令中使用空格来传递参数。例如,如果你有一个带有两个整数参数的函数 test_func:

static void test_func(int arg1, int arg2)
{
    rt_kprintf("The first argument is %d, and the second argument is %d.\n", arg1, arg2);
}

则可以在 MSH 中使用以下方式来调用该函数:

test_func 123 456

在函数名和参数之间必须有一个空格。如果参数是字符串类型,则需要用引号将其括起来。

内置的MSH命令


http://www.kler.cn/news/17132.html

相关文章:

  • Python---多线程编程、基于Socket完成服务端程序开发、基于Socket完成客户端程序开发
  • SpringMVC详细介绍和@RequestMapping详细使用说明
  • 预制菜,巨头们的新赛场
  • python3 强制使用任意父级相对导入,越过python相对导入限制,拒绝 ImportError
  • 操作系统——设备管理
  • kafka的安装与使用
  • 关于低代码开发平台的一些想法
  • 【Frame.h】
  • 手写堆priority_queue优先队列
  • 题目:16版.学生-成绩关联实体
  • Centos7快速安装Kibana并连接ES使用
  • 结合SSE实现实时位置展示与轨迹展示
  • 区块链系统探索之路:基于椭圆曲线的私钥与公钥生成
  • FPGA/Verilog HDL/AC620零基础入门学习——8*8同步FIFO实验
  • spring-模型数据和视图---视图解析器的说明以及大量代码演示
  • AUTOSAR知识点Com(十三):ComM内容分析
  • 后端程序员的前端必备【Vue】- 01 Vue入门
  • 计算机Z20-第7-8周作业
  • 17. Pod 自动管理——DeamonSet 和 Job
  • JDK8 中Arrays.sort() 排序方法解读
  • MySQL高阶——索引设计的推演
  • Redis-集合(Set)
  • 总结838
  • Java 中的异常处理机制是什么(十)
  • redis 持久化 RDB + AOF
  • 多城市门店店铺展示地图导航pc/h5系统开发
  • Packet Tracer - 研究直连路由
  • 第十五章 角色移动旋转实例
  • ubuntu16.04升级到20.04后报错 By not providing “FindEigen.cmake“
  • 超细Redis(一)