使用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命令

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

月司

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值