
单片机最好是用C,不过用C++会更温馨一些。由于单片机上写C++代码更流畅,开发效率贼快了。重要关键是不容易出错。
说白了,能够用C的都能够没区别的用C++,这是C++一初始创立的时候就定位好了的。在接近机器性能方面除了C,不给其他语言任何时机。
顺便说一句,我此时就在开发嵌入式,而且C++版本足够用。
假如auto thread for(auto& i : container)
其实吧,问题不在单片机,而是在于国内落后的C++教学环境。国内大学那些教师教的C++不叫C++,叫半路出家。
假如,国外的C++数据构造课程都要求学生达到模板,迭代器,输出操作符重载。这样的根底设施,我敢打包票,国内大学计算机教师,包含所有985大学,能自己写一个完整的欧美国家C++数据构造作业的都不多。
想学好单片机,以下步骤一定的做好,否则你永远都是行外人
第二步:单片机实战
这是真正进修单片机的过程,既让人兴奋又让人疲惫,其中的酸甜苦辣独有学过的人深有体会。思想上要有刻苦进修的决心,硬件上要有一套完整的进修开发工具,软件上要注重理论和实战相联合。
文章相对比较长,字数比较多,大家可以先打开头像关注我,之后慢慢看,///插播一条:我自己在今年年初录制了一套还比较系统的入门单片机教程,想要的同学找我拿就行了免費的,私信我就可以哦~点我头像左下角黑色字体加我也能领取哦。最近比较闲,带做毕设,带学生参加省级或以上比赛///
有一套完整的进修开发工具
进修单片机是须要老本的。必需有一台电脑、一块单片机开发板(假如开发板不能直接下载程序代码的话还得须要一个编程器)、一套视频教程、一本单片机教材和一本C语言教材。
电脑是拿来编写和编译程序,并将程序代码下载到单片机上;开发板拿来运行单片机程序,验证现实中效果;视频教程就是手把手教单片机开发环境的运用、单片机编程和调试。
对于单片机初学者来说,视频教程必需看,要不然,哪怕把教材看了几遍,还是不知道怎么样下手,尤其是院校里的单片机教材,学了之后,面对真正的单片机时可能还是束手没策;单片机教材和C语言教材是理论进修资料,备忘备查。不要为了节省老本不用开发板而光用Protur软件仿真调试,这和纸上谈兵没什么差别。
要注重理论和实战相联合
单片机C语言编程理论知识并不深奥,只看书不动手也能明白。但在现实中编程的时候就没那么简略了。一个程序的构成不仅须要有C语言知识,更多须要融入个人的编程思维和算法。
编程思维和算法决定一个程序的优劣,是单片机编程的大问题,独有在现实中动手编写的时候才会有深切的感悟。一个程序能否依照意愿正常运行就要看思维和算法是否正确、合理。假如程序不正常则要反复调试(检查、修改思维和算法),直到成功。这个过程耗时、费脑、疲精神,意志不刚强者往往被绊倒在这里半途而废。
进修编写程序应该依照以下过程进修,效果会更好。看到例程题目先试着构思自己的编程思维,其次再看教材或视频教程里的代码,钻研人家的编程思维,注意与自己思维的差异;之后就照搬人家的思维亲身动手编写这个程序,领会其中每一条语句的作用;对有疑问的地方试着依照自己的思维修改程序,比较程序运行效果,领会其中的奥妙。
每一个例程都坚持依照这个过程进修,很快会找得到编程的感觉,取其精髓去其糟粕,久而久之会构成独特的编程思想。
当然,刚初始,看他人的程序源代码就像看天书一样,只有硬着头皮看,看到不懂的重要关键字和语句就翻书查阅、对照。只有能坚持下来,进修收获会事半功倍。
在实战过程中不仅要学会他人的例程,还要在他人的程序上改进和拓展,让程序产生更壮大的功能。同时,还要懂得通过查阅芯片数据手册(DATASHEET)里相关芯片命令和数据的读写时序来核对他人例程的可靠性,假如觉得例程不可靠就把它修改过来,成为自己的程序。不仅如此,自己应该经常找些项目来做,以稳固所学的知识和积攒更多的经历。
第三步:单片机硬件设计
当编写自己的程序信手拈来、浏览他人的程序能够发现问题的时候,证明自己单片机编程水平相当不错了。之后就应该钻研的硬件了。硬件设计包含电路原理设计和PCB板设计。
进修做硬件要比进修做软件麻烦,老本更高,周期更长。但是,进修单片机的最终目标是做产品开发----软件和硬件相联合构成完整的控制系统。所以,做硬件也是进修单片机技术的一个必学内容。
电路原理设计波及到各种芯片的应用,而这些芯片外围电路的设计、典型应用电路和与单片机的连接等在芯片数据手册都能找得到答案,前提是要看得懂全英文的数据手册。
否则,照搬他人的设计永远落在他人的后面,做的产品就没有创意。电子技术领域的第一手资料(DATASHEET)都是英文,从第一手资料里所获得的知识可能是在教科书、网络文档和课外读物等所没有的知识。
虽然有些资料也都是在DATASHEET的根底上撰写的,但内容不全面,甚至存在翻译上的遗漏和错误。当然,浏览DATASHEET须要具备一定的英文浏览才能,这也是妨碍单片机进修者晋级的绊脚石。
在了解电路的含义之后,在进行关于PCB板的有关设计就比较简略了,在这一阶段只有对一些常见的PCB软件能够运用即可,如Protel、AltimDesigner,但假如要求最终的布线效果具有一定的美观度就须要花费一些时长了。
总的来说,作为一名单片机设计者,只有能够驾驭单片机C语言编程,并且能够运用常用PCB软件进行设计画板,此外再具备一定的英文根底。那么一定会成为一名超强的单片机高手。
对单片机感兴趣的朋友可以找我,我录制了一些关于单片机的入门教程,有需要的童鞋找我拿就行,免费的,私信我“林老师”就可以拿~点击打开我的头像就能领取