你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】STM32智能家居7天小项目RTOS引入

[复制链接]
STMCU小助手 发布时间:2022-5-21 19:00
前言
  C$ L3 W+ E, _最近学习了百问网的7天智能家居项目,在此想要和大家分享一些智能家居开发经验。. G. ?, S6 z- {" C3 x: D  e2 _

! }& p; m4 y; a8 H$ W一、裸机的开发方式
4 o" _3 t* F2 a轮询
- W, v3 }7 U# W* e% F/ q* T: |* d所谓轮询方式,即为轮流查询是否要处理当前任务,如果要处理则所有的CPU资源都用来处理当前的任务,其他任务需要等待当前任务处理完毕后才有机会执行。/ R( z5 E2 @$ R/ ?- Z
/ o* ]' T$ `& \, e' @; L7 G
轮询的缺陷

' k. l7 D3 N1 B7 }1.任务之间干扰严重,假如有某些任务耗时很长,后续任务就会等待很长时间才有机会执行。4 Z/ u% _/ Z0 v- y. C
2.无法及时响应重要任务。+ Q* O+ n6 [7 ^

/ L3 J8 m6 Z# K3 Q$ r事件驱动
  L! j) c  n3 W$ R# i事件通常和中断是一起讲的,于处理器而言,某个硬件产生的一个脉冲信号通知另一个硬件根据此信号做处理称之为事件,例如,定时器每隔1ms触发 ADC 去采样,这种就叫做事件,过程中不需要 CPU 参与;但是 ADC 采样完成之后需要 CPU 去处理采样的数据,所以需要告知 CPU 它采样完了, cPU 可以去取数据做处理了,那么 ADC 通知 cPU 采样完了这个动作就叫做中断。
+ v9 G! x3 \2 z( v" e8 I; M- x: l) O6 D( w6 X
二、中断优先级
8 Q6 d" |+ R% z+ j# G- ECortx-M3有256个优先级和128级抢占优先级。  y# C: B% D& |3 i

1 u6 W3 a- a, R- Z/ Y中断优先级简介
, b( h- L! E! |8 @2 Z( e每一个中断都有属于自己的中断优先级,中断优先级越高的中断越先相应,中断优先级高的中断可以打断正在执行的中断优先级低的中断,这也被称为中断嵌套。
! _9 |* g- R% B% J6 A. k' @, H
& m1 u' \. n9 a) s# i3 ?轮询和事件驱动的结合* f& j$ @. R/ _/ V& n3 v+ s7 V4 p
在实际开发中不可能单独使用轮询方式或者中断方式去编写程序和项目,一般会同时采用这两种方法。- D, S5 g3 j( `1 o5 m
0 w5 ~9 d. D5 V# S
三、RTOS的引入
* p9 }# R  b# J/ T3 n8 F" x" R在裸机开发过程中使用轮询和中断的方式可以解决大部分问题,但是在一些多任务、耗时长任务等复杂情况下,单纯的裸机开发已经不能满足需求了。) n$ I( N4 v# y' O( M, B6 B6 x' w
RTOS的具体讲解在我前面的文章有说到有兴趣的朋友可以去看看。
+ v' e# @; W- A. @5 d4 tRTOS
9 ^7 F8 s6 ^0 r8 Y2 }. i3 T7 b; P3 }7 P# n# t7 o- i& M! j
总结
) Z. B; [# o3 ^+ j4 a1 T$ W今天是学习智能家居项目的第一天,总的来说百问网的这个项目还是非常值得大家去学习的。8 M( y' P' V+ D% X# r! Q

$ T' B: D, R" Z0 t) K6 I/ A1 n% M- M8 @7 P2 F0 O
" S' Q" G6 u! z) T1 W
4 S' s* q. {- s$ i  {0 R
赞 收藏 评论0 发布时间:2022-5-21 19:00

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版