单片机入门最佳路线,避开90%新手的坑

#通信硬件知识分享# 时间很快,不知不觉从事单片机开发很多年了,对于单片机怎么学这个话题,感慨万千。
单片机在外行人看来门槛很高,既要懂硬件又要会编程,大多数人还没开始已经吓尿了!
其实,单片机并大家没想的这么难,关键就是方向正确+努力。

下面来讲讲我的自学经历。

曾经我和大多数即将步入社会的学生一样,不知道自己以后该做什么,对未来充满无助和迷茫。
更糟的是,我在大学时候还因为生病耽误了半年课程,对那时候的我来说,回校第一件事就是给自己列计划,怎么补回自己失去的半年,赶上同学的进度。
一开始选择计算机这个专业,就是看重了它的毕业工资高。
但是编程分为很多种,C、C++、java、PHP等等等,一开始眼花缭乱,到底哪个最赚钱?
我接触单片机还是因为我的导师,我的导师第一天就问我对单片机感不感兴趣,当时懵懵懂懂,然后想着多学无害。

然后觉得这玩意有意思,因为能通过写程序去控制硬件去完成一些有趣的操作,比如说最经典的点灯,智障小车等等。

或许我是比较喜欢这种”即时反馈”,可以一边学一边做出好玩的东西出来。不过这中间走错了不少弯路。

如果当初我能看到这样一篇指引方现在想想,向的文章,那该有多么幸运。

Ok,干货正式开始,我将通过以下2点来讲述单片机要怎么学,才不会从入门到放弃。
1.单片机要学什么?
2.入门最佳学习路线
一、单片机要学什么?
我们不管学什么,最重要的目的都是奔着赚钱的,这点应该没人反驳吧?

对于单片机来说,前期变现唯一的方式就是去找工作。

我们直接打开招聘平台,然后搜”单片机工程师”、或者”嵌入式工程师”职位。

你只有了解招聘者想要什么技能,你才能对症下药,不能人家要求你会串口总线,你简历上写个妖鬼蛇神,hr没从你简历里得到有用的技能,你简历就进人才库了。
多看几个职位你就会发现大家的要求都是大同小异,我们只要抓住这些职位的共同要求,这个要求通常就是这个职位的刚需,而这些就是我们要学的。

什么?你还是总结不出来?

没关系,我早想到了!继续往下看!

二.入门最佳学习路线
入门学习路线大纲:电子元器件-电路基础-C语言-单片机-AD软件使用
1.电子元器件
单片机主要是用来控制硬件的,所以基本的电路必须要懂,而电路是由各种电子元器件组成的。

这些呢,你也可以看一下数字电路和模电的书,补充这部分的知识,当然也可以看教学视频!!
3.C语言
首先C是基础语言,对于c语言的入门,我觉得对于绝大多数的同学都没什么问题,因为我也看到很多同学跨专业的同学考计算机二级,那样的难度足够入门了,新人学c我建议是一遍学一边敲代码,理论和实践结合你理解的更深奥。

4.单片机
目前市面上主流的单片机就是STM32一大类的,不过你想干嵌入式必须会linux或者rtos,这部分也是一大难点,所以我建议同学们也可以用imx6ull一类的跑linux的板子学一下linux系统,而STM32可以学一下常用的外设(GPI0、Timer、中断、USART、IIC、SPI.PWM、DMA、ADC,CAN)就可以了,其他工作需要用到的时候再去学。

5.总结
正确的方向可以让你事半功倍,走错路比入错行更难受

嵌入式C++面经推荐大佬面经  链接在下边
全部评论

相关推荐

1. 实时数据采集  在嵌入式系统中,如何有效地实现实时数据采集?请列出关键步骤和考虑因素。2. UART通信注意事项  在使用UART进行设备间通信时,需注意哪些事项以确保数据传输的可靠性?3. FreeRTOS任务延时  在FreeRTOS中,如何实现任务的延时功能?请给出具体的API和示例。4. SPI数据交换  如何通过SPI与传感器进行数据交换?请描述配置和数据传输的过程。5. TCP/IP协议栈配置  在嵌入式系统中,如何配置和使用TCP/IP协议栈以实现网络通信?6. PWM控制伺服电机  如何使用PWM信号控制伺服电机的角度?请说明具体的实现方法。7. FreeRTOS互斥量  在FreeRTOS中,如何实现互斥量的使用以保护共享资源?8. 低功耗模式实现  在嵌入式系统中,如何实现低功耗模式?请列出可采取的策略。9. I2C温度传感器读取  如何使用I2C与温度传感器进行数据读取?请描述具体的步骤。10. FreeRTOS任务通知机制  在FreeRTOS中,如何实现任务的通知机制以同步任务间的操作?11. ADC配置  如何配置ADC以读取温度传感器的数值?请列出配置步骤。12. 数据压缩实现  在嵌入式系统中,如何实现数据压缩以节省存储空间?13. PWM控制电机速度  使用PWM控制电机速度的基本原理是什么?请解释其工作机制。14. 优先级反转  在FreeRTOS中,如何处理任务的优先级反转问题?请给出解决方案。15. 中断处理按键输入  如何使用中断来处理按键输入?请描述具体的实现过程。16. CRC校验实现  在嵌入式系统中,如何实现数据的CRC校验?请提供算法和步骤。17. CAN总线通信原理  使用CAN总线进行车辆数据通信的基本原理是什么?请简述其工作流程。18. FreeRTOS事件组  在FreeRTOS中,如何实现事件组的使用以管理多个任务的同步?19. 外部中断响应  如何使用外部中断来响应传感器数据变化?请说明具体的配置和实现。20. 压力传感器读取  在嵌入式系统中,如何实现压力传感器的读取?请描述相关步骤。21. DMA音频数据传输  使用DMA进行音频数据传输的优势是什么?请说明其实现方法。22. 软件定时器使用  在FreeRTOS中,如何实现软件定时器的使用以定时执行任务?23. 图像传输实现  在嵌入式系统中,如何实现图像传输?请列出所需的协议和步骤。24. RTC定时事件调度  如何使用RTC进行定时事件的调度?请描述配置和使用方法。25. 内存使用监控  在FreeRTOS中,如何监控内存使用情况以避免内存泄漏?26. USB设备识别  使用USB进行设备识别和通信的基本原理是什么?请简述其工作流程。27. 音频录制实现  在嵌入式系统中,如何实现音频录制?请列出关键步骤。28. MQTT设备监控  如何使用MQTT协议进行设备状态监控?请描述实现流程。29. FreeRTOS时间管理  在FreeRTOS中,如何实现任务的时间管理以优化系统性能?30. 固件安全更新机制  在嵌入式系统中,如何实现固件的安全更新机制?请列出关键考虑因素。嵌入式C++面经推荐大佬面经  链接在下边  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
3
6
分享

创作者周榜

更多
牛客网
牛客企业服务