分阶段学习
第一阶段:C语言学习与很多的人想象的不同,我并不建议上来就去学汇编。有人可能会质疑:“汇编不是最接近底层的入门语言吗?”没错,是的!
正因为如此,我更加希望大家先学习C语言。学编程语言就和学外语一样,如果我们一上来就完全要进入一个外语环境,那肯定会是一头雾水,只有通过一些其他的辅助手段,比如手语或者图形这类的介质,才更容易理解和掌握。C语言的作用就类似于这种介质,简单易学,养成编程特需的思维方式,帮助我们顺利的迈进编程的大门。而且,目前绝大多数单片机的开发环境都支持C语言,很少有使用汇编语言的了。
C语言

我们掌握基本的C语言编程之后,可以适当的进行汇编语言学习。因为汇编语言太接近底层,涉及到很多寄存器的操作,通过一系列寄存器的配置操作,实现设备的驱动和功能。我们可以先通过C语言快速的观察到现象,在根据现象一步步推导出汇编语言的语句,这样做其实比上来直接写汇编语句要清晰很多,还比较容易定位错误。虽然说大多数开发环境都支持C语言,我还是希望大家了解一下汇编程序,因为这样非常有利于我们了解寄存器的基本操作、总线的驱动方式等底层的操作,这对嵌入式从业者来说,是一件很有帮助的事情。
汇编语言
第三阶段:C++语言学习C++是面向对象的语言,而C是面向过程的。硬件的性能越来越高,在单片机上跑操作系统已经不是什么新鲜事了,大部分的开发环境也都支持C++。玩单片机的朋友们大部分会接触到RTOS或者LINUX,如果不学C++语言,就很难有所突破了。好在已经有了C语言的基础,C++的学习其实并不很难,掌握了面向对象编程的核心思想,转向其他上位机软件设计也就很容易了。
C++语言
希望我的分享给大家带来帮助,欢迎大家多评论,多交流!