本帖最后由 powerantone 于 2025-5-23 17:11 编辑
还有公司用裸机做项目吗? 答案:有,而且还有很多。
市面上的电子产品,大到汽车、家电,小到儿童玩具、手环,几乎都有单片机的身影。
这里面,用裸机开发的电子产品,占比其实不低。就拿市面上儿童玩具来说,用裸机开发的产品一大把。
虽然市面上很多公司在招人的时候(比如:做单片机开发的岗位)都会要求有RTOS开发经验,或者对RTOS有一定了解。但其实,它们公司就是用裸机开发产品。
很多初学者,看到招聘信息上都对RTOS有一定要求,就误以为市面上很少有公司用裸机开发产品了。
所以,【用裸机开发,还有前涂吗?】在一定程度上还是有前途,站在全行业来看,裸机开发也是一个技术活。相比工地、工厂那些岗位,不管是辛苦程度,还是工资待遇都要好很多。
学单片机,一定要学RTOS吗? 答案:一定要学,有时间的情况下,要深入学习。
为什么一定要学?原因就是现在“太卷”了。
虽然上面说了,用裸机开发也有前涂,但那都是相对技术难度更低的岗位而言(比如工厂打工人),谁不想有一个更好的前(钱)涂呢?
20年前(2005年),你能用单片机点灯,不说你是精英,但你都绝对算得上很多人口中的有能力的人(技术人)。出来找工作,自然不愁!
10年前(2015年),你能用单片机做裸机项目(比如UART、I2C和传感器通信),找个单片机开发的工作也不难。
如今(2025年),你即便用裸机做了很多项目,出来找一个满意点的工作都很难。
为啥一定要学RTOS?因为单片机资源相比之前丰富了很多,跑RTOS也不存在很多限制。
再加上,RTOS是目前单片机做项目的趋势,或者你当前项目用不到RTOS,你敢保证下一个项目,或者你去别的公司做项目不用RTOS吗? 当然,这里不是说所有项目都需要用RTOS,具体还要看场景。有些场景其实裸机就行了,下面列一个表对比下: [td]场景 | 裸机适用性 | RTOS适用性 | 简单控制(LED闪烁) | ✅ 最佳 | ⚠️ 过度设计 | 多传感器数据融合 | ❌ 状态机复杂难维护 | ✅ 任务隔离清晰 | 以太网+GUI交互 | ❌ 几乎不可行 | ✅ 依赖协议栈和任务调度 | 低功耗电池设备 | ✅ 直接控制功耗 | ✅ Tickless模式优化 |
单片机跑RTOS相比裸机,有哪些优势? 现在单片机的性能(速度)相比之前要高很多,Flash、RAM和外设资源也比之前要丰富许多。相比裸机而言,跑RTOS有很多天然的优势。
1、多任务 用RTOS做过项目的同学应该清楚,多任务能给你项目带来很多好处。比如:按键延时消抖就不要考虑占用CPU资源、串口通信实时响应等问题。
RTOS本身就是一个“软件框架”,它在一定程度上,“管理”了你的项目。2、实时性 RTOS(Real Time Operate System)实时操作系统,顾名思义,实时性很高,对一些要求实时性的场景(比如电机控制)有很大优势。
3、团队开发 相比裸机而言,RTOS具有多任务的特性,更适合团队开发。比如:一个人负责一个“模块”的开发,模块之间用消息队列进行通信,这样就互不影响。
4、中间组件 随着RTOS的不断发展,各大RTOS都在不断适配中间件,比如国产的RT-Tread就有很多中间组件。配套的中间组件,厂商都已经适配好了,这样就更方便我们开发项目。
5、代码重用 如果你在RTOS设计的模块,可以很容易地移植到其他RTOS项目中。
不管是站在个人角度,还是站在公司的角度,都希望写的代码能最大化利用。
并且,你在一个项目中经过验证过的模块,移植到另一个项目,就能减少更多的验证环节。 |