嵌入式学习路线——2没有必要从51单片机起步了

0 系列文章入口

嵌入式入门学习——0快速入门,Let‘s Do It!

嵌入式适合哪些人学

本专业的学生

主要是电子类的学生,比如电子信息工程通信工程自动化机械电子工程仪器仪表等专业的学生,本人就是电子信息工程专业。计算机科学软件工程之类的也可以学,但是这些偏纯软件方向,可能去BAT之类的是更好的选择。

纯软想转行的工程师

现在互联网看似接近饱和,移动互联网带来的春天已经过去,头部APP结束了神仙打架的斗争,移动互联网已经渗透到生活的角角落落,打个车,买个菜都要用个APP,纯软找工作没有之前那么吃香了。反而是电动汽车、智能家电、无人机、机器人等大放异彩,开辟出了新的千万亿级别的市场。纯软有着软件开发的先天优势,加上现在的嵌入式系统本身好多都已经基于linux、andriod等操作系统平台,越来越脱离底层硬件,偏向纯软件开发,纯软件工程师转行也不失为一个好选择。例如下图中基于linux的核心板,已经完成了最新linux 5.4内核版本操作系统的驱动支持,软件开发完善,并经过长时间老化测试、高低温测试、通断电测试,测试后性能稳定,且核心板的外形小巧,尺寸仅为37mm*39mm,采用邮票孔封装焊接到底板,稳固不易松动,可适应于工程机械产品严苛的工业环境要求。核心板实现OTG,TF卡多种烧写方式,预留140个引脚的外扩接口,其包含了丰富的外设资源,便于灵活开发应用。
敲黑板:真的只要写应用层就可以了!!!
核心板
图1 基于linux核心板的嵌入式开发

电子爱好者

如今知识传播的方式和速度都有了质的飞跃,各种电子模组层出不穷,不是科班出身,也能玩转嵌入式。嵌入式开发越来越像搭积木,想要语音识别、人脸识别、图像显示、联网通信都有相应的模组可以购买,无需研究模数转换、信号处理、电磁场电磁波等等高深学科。甚至自己的主控芯片都可以不了解,Arduino对芯片底层进行了封装,MicroPython还支持使用Python语言操作硬件例如OpenMV。直接像写纯软件一样调用函数接口,就可以操作硬件电路。什么晦涩难懂的寄存器、硬件驱动统统不用管,也能开发出很牛的作品。
Openmv
图2 基于Python开发OpenMV

嵌入式学什么

如果只是爱好者,我建议就学arduino就够了,十几块钱买个esp8266或者二三十买个esp32就可以玩起来了,教程特别多,还可以连接互联网,我不在这里赘述,我自己后面也会分享基于arduino的设计。对了arduino是一个组织,不是一个单片机型号,他们把常见的单片机的底层进行了统一的封装也就是硬件抽象,比如stm32、avr、esp8266等等,在不同型号的的单片机上开发感觉都一样,不用关心底层。缺点不能直接和硬件打交道,所以没有那么灵活,实时性也差一点,建议本专业的还是不能止步于此。arduino是基于c++的,当然只是使用的话用c那部分内容就够了,没必要自己造一个对象出来。嵌入式的话c是肯定要学的,会c++就更好了。这里涉及到面向对象还是面向过程编程的知识,暂时按下不表吧。
如果是本专业的学生,我觉得可以从stm32起步,因为资源实在是太多了,硬件驱动都可以用STM32CUBEMX自动生成了。
CUBEMX
图3 基于STM32CUBEMX生成硬件驱动
还有就是学好专业课,c语言、微机原理、数字电路、模拟电路、信号与系统、控制工程、电磁场与电磁波,相信我以后多多少少都能用上些。就算是不知道有啥用,光想卷高分考研进大厂也必须学,嵌入式行业大厂和小厂就不是一个职业感受。进阶方向的话还是要向ZYNQ(ARM+FPGA)、实时操作系统、嵌入式AI、控制算法等有难度的挣钱多的方向。

Talk is cheap Show me the CODE!

8051单片机串口收发

以下是一个基于标准8051单片机(假设使用11.0592MHz晶振)通过软件模拟实现接近115200波特率收发的简单示例。请注意,由于标准8051的定时器限制,直接实现115200波特率可能不太精确,但我们可以尽量接近。

首先,我们需要配置单片机的串口(UART)为模式1(8位可变波特率,无奇偶校验位,1个停止位)。然后,使用定时器1来生成接近的波特率。

#include <reg51.h>  
  
#define FOSC 11059200UL  // 晶振频率  
#define BAUDRATE 115200  // 目标波特率  
  
// 计算定时器重装值(这里为了简化,直接给出一个接近的值,可能需要调整以达到最佳效果)  
#define TH1_VAL ((65536 - (FOSC / 12 / 32) / BAUDRATE) >> 8)  
#define TL1_VAL (
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

星火嵌入式

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值