这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » 【Let'sdo第1期-DIY功率检测与控制系统】2、过程贴

共1条 1/1 1 跳转至

【Let'sdo第1期-DIY功率检测与控制系统】2、过程贴

菜鸟
2025-05-22 00:22:05     打赏

当我们进入嵌入式这个领域的时候,往往首先接触的都是单片机编程,单片机编程又 首选 51 单片机来入门。

这里面说的单片机编程通常都是指裸机编程,即不加入任何 RTOS (Real Time Operating System 实时操作系统)的程序。

常用的 RTOS 有国外的FreeRTOS、 μC/OS、RTX 和国内的 FreeRTOS、Huawei LiteOS 和 AliOS-Things 等,

其中尤以国外开源 且免费的 FreeRTOS 的市场占有率最高。

在裸机系统中,所有的程序基本都是自己写的,所有的操作都是在一个无限的大循环 里面实现。

现实生活中的很多中小型的电子产品用的都是裸机系统,而且也能够满足需求。 但是为什么还要学习 RTOS 编程,

偏偏还要整个操作系统进来。一是项目需要,随着产品 要实现的功能越来越多,单纯的裸机系统已经不能够完美地解决问题,

反而会使编程变得 更加复杂,如果想降低编程的难度,我们可以考虑引入 RTOS 实现多任务管理,这是使用 RTOS 的最大优势。

二是学习的需要,必须学习更高级的东西,实现更好的职业规划,为将来走向人生巅峰迎娶白富美做准备,

而不是一味的在裸机编程上面死磕。作为一个合格 的嵌入式软件工程师,学习是永远不能停歇的事,时刻都得为将来准备。

书到用时方恨少, 我希望机会来临时你不要有这种感觉。

抱着学习FreeRTOS的心态,这次的DIY项目全部在FreeRTOS上完成

CubeMX配置

image.png

这里使用官方板卡的默认配置,已经为我们配置好了时钟。

image.png

如图配置我们需要的外设

image.png

在freertos这里全部保持默认,并新增两个任务用于oled显示和ina219采集,新增一个队列用于传递数据。

image.png

可以看到我们的任务和队列自动配置好了。

1.实现1s翻转LED

image.png

可以看到使用freertos根本不需要自己计算频率配置定时器并在中断中编写程序,直接delay就行,freertos的心跳定时器会自动1ms执行一次,并且可以把任务处理交给freertos。

2.实现OLED屏幕显示信息

image.png

略微修改得捷提供的oled库,使用硬件iic

image.png

在任务2中调用oled显示函数

fd5ecdb35fb9d46adf4a0a63dbfb0c0.jpg

可以看到正常进行了显示。

要记住在main函数前调用初始化函数哦。


共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]