电子产业一站式赋能平台

PCB联盟网

搜索
查看: 64|回复: 0
收起左侧

在单片机上跑ThreadX,并实现串口回显测试

[复制链接]

560

主题

560

帖子

6720

积分

高级会员

Rank: 5Rank: 5

积分
6720
发表于 2025-2-27 11:45:00 | 显示全部楼层 |阅读模式
关注+星标公众,不错过精彩内容
来源 | 瑞萨嵌入式小百科

现在做嵌入式开发,在单片机上跑RTOS,是一项最基本的技能。

以前移植RTOS受限于MCU性能、资源,需要对底层进行各种优化和裁剪,移植起来非常复杂,对很多新手来说,门槛很高。

但如今就不一样了,MCU性能和资源都很强大了,现在也有各种一站式工具推出,只需要动动鼠标,基本就能创建一个完整的RTOS工程。

今天结合瑞萨RA0E1单片机(开发板),教大家在单片机上跑ThreadX,并实现串口回显测试。

RA0E1介绍
分享之前先简单介绍一下RA0E1单片机,一下是框图:

geooraugj0l6405096002.png

geooraugj0l6405096002.png


RA0E1特性
32MHz Arm Cortex-M23内核
高达64KB闪存和12KB SRAM
1KB数据闪存(100,000次编程/擦除 (P/E) 周期)
16引脚和32引脚封装选项
1.6V至5.5V的宽电压范围
TAU(16位通用PWM定时器)
TML32(32位间隔定时器)
实时时钟
12位模数转换器
温度传感器
SAU(UART、简单SPI、简单 I2C)
UART
I2C总线
随机数发生器
安全功能
+-1%高精度、高速片上振荡器
灵活的电源架构,具有快速唤醒功能
HAL驱动器代码
支持Arm生态系统和瑞萨电子原创开发工具

在单片机上跑ThreadX,并实现串口回显测试具体操作流程:


2wsetoze0y46405096102.png

2wsetoze0y46405096102.png

ssyc4odab0k6405096202.png

ssyc4odab0k6405096202.png


设置项目名称

jke22u0esdb6405096302.png

jke22u0esdb6405096302.png


选择目标芯片

boi2s1coxsk6405096402.png

boi2s1coxsk6405096402.png


选择ThreadX实时系统

ksgt0kalj5u6405096502.png

ksgt0kalj5u6405096502.png


工程建立完成

eqw3bsmsocd6405096602.png

eqw3bsmsocd6405096602.png


配置串口及收发任务

bxderhbuyhu6405096702.png

bxderhbuyhu6405096702.png


配置串口引脚

sopppdzxil16405096802.png

sopppdzxil16405096802.png


配置串口属性相关参数

lo5qiskxzi16405096902.png

lo5qiskxzi16405096902.png

dydybcco4pw6405097003.png

dydybcco4pw6405097003.png

1ygyoiuhcyp6405097103.png

1ygyoiuhcyp6405097103.png


配置串口的Uart_Theard任务

u3gbqyxdzjo6405097203.png

u3gbqyxdzjo6405097203.png


配置ThreadX任务相关参数

hmfjprnnmod6405097303.png

hmfjprnnmod6405097303.png


软件业务逻辑

sk3c4pyok5j6405097403.jpg

sk3c4pyok5j6405097403.jpg


代码实现
串口初始化:

ehvbqxlc34p6405097503.png

ehvbqxlc34p6405097503.png


当需要更改波特率时使用uart_baud_set函数:

o1smmcswusq6405097603.png

o1smmcswusq6405097603.png


串口发送函数:
根据传入的数据缓冲区及数据长度来通过串口发送数据。

pvmijhp5tkz6405097703.png

pvmijhp5tkz6405097703.png


中断接收函数处理:

fbgxsyfcb1n6405097803.png

fbgxsyfcb1n6405097803.png


任务函数:
判断循环队列是否为空,若队列中有数据则通过串口进行传输

4jwv15fopus6405097903.png

4jwv15fopus6405097903.png


测试结果
串口数据回传成功:


实践操作一遍,你会发现,在单片机上跑RTOS其实也很简单。
------------ END ------------


单片机 IDE e2 studio环境下的波形渲染


低功耗MCU已经来到Cortex-M33的时代


单片机通过I2C实现OLED显示原理和实现方法


单片机4种互补PWM模式原理和实现方法
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


联系客服 关注微信 下载APP 返回顶部 返回列表