RT-Thread 5.0.2基于STM32F407ZG处理器使用MAILBOX实现线程间同步

本文详细介绍了如何在RT-Thread环境中使用MAILBOX进行线程间的同步,包括步骤1-5:创建测试代码、添加宏定义、编译工程、下载运行和验证结果。
摘要由CSDN通过智能技术生成

1、概述

        为了实现复杂的功能,编程时免不了要进行线程间的同步操作,程序线程之间实现同步的方式有很多中,通过MAILBOX实现线程之间的同步就是常见的一种方法,在此就给大家完整演示一下在RT-Thread中线程间使用MAILBOX实现同步的全过程。

2、实现过程记录

        第1步,打开一个已经能够工作的软件工程。

        我将在此软件工程中添加线程间同步方式MAILBOX的测试代码。

        第2步,添加代码。

        在applications目录下新建一个usr_mailbox.c文件。

        访问官网的示范代码网址:

        https://www.rt-thread.org/document/api/mailbox_sample_8c-example.html

        拷贝示范代码到usr_mailbox.c文件中,直接拷贝进来的代码格式有点难看,作一下代码的格式化处理。

        在文件usr_mailbox.c中找到二处宏定义:

ALIGN(RT_ALIGN_SIZE)

         将其修改为:

rt_align(RT_ALIGN_SIZE)

        此测试代码没有与RT-Thread SDK版本做同步更新,如果不修改的话,后面编译软件工程将会出错。

        第3步,编译软件工程。

        软件工程编译成功。

        第4步,下载固件到目标板运行。

        固件下载完成,并运行至main()的断点处。

        点击图标全速运行代码。

        第5步,PC端启动Putty,查看运行结果。

        在Putty的MSH窗口中运行命令:

                help

        在help命令运行结果的列表中可以见到mailbox_sample命令。

        运行命令:

                mailbox_sample

        查看运行结果:

        运行结果符合设计预期。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值