单片机最好是用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软件进行设计画板,此外再具备一定的英文根底。那么一定会成为一名超强的单片机高手。

对单片机感兴趣的朋友可以找我我录制了一些关于单片机的入门教程有需要的童鞋找我拿就行免费的私信我“林老师”就可以拿点击打开我的头像就能领取

被绕晕了,嵌入式用C好还是用C++好相关推荐

  1. DNN、RNN、CNN.…..一文带你读懂这些绕晕人的名词

    DNN.RNN.CNN.-..一文带你读懂这些绕晕人的名词 https://mp.weixin.qq.com/s/-A9UVk0O0oDMavywRGIKyQ 「撞脸」一直都是娱乐圈一大笑梗. 要是买 ...

  2. 指向指针的指针!!(能让初学者绕晕的东西)

    如果一个指针变量存放的又是另一个指针变量的地址,则称这个变量为指向指针的指针变量或指向指针的指针. 定义方式:   数据类型  **变量名; int a=10; //地址为&a int *p= ...

  3. cpua55和a53哪个好_ARM是要把用户绕晕?新款Cortex-A35 CPU和Cortex-A53有啥区别-控制器/处理器-与非网...

    小编语:手机处理器从 32 位向 64 位的迁移过程中,功耗增加以及给手机厂商带来的散热成为一个很大的问题.目前 Cortex-A57 已经是 64 位手机处理器芯片的主流内核,它的功耗不降下来,更多 ...

  4. 双十一是不是被各种满减、优惠券绕晕了?那就来做一个购物攻略

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章来源于python数据分析之禅 ,作者鸟哥 前言 双十一还有不到10天,购 ...

  5. 红米note1s android5,绕晕了:红米Note、红米1S各版本差异详解

    小米在下周5月15日就要举行一场新品发布会,重点是新外观.配置更强.支持4G但可能只是作为过渡机型的小米3S.不过在此之前,小米下面的红米系列又突然涌现出一大批"新品",为免大家在 ...

  6. 2022__我的嵌入式入坑之路

    目录 一.学习篇 51单片机: python爬虫: stm32单片机: ad: 立创EDA: openmv: ardunio: ESP32: 汇编语言: ROS: FreeRTOS: matlab: ...

  7. 嵌入式教程:什么是物联网

    在日常生活中如果有人问你知道物联网吗?大部分人都会反问:是互联网吗?确实,在现实生活中,我们更常用的貌似是互联网,我们的PC端,移动设备都离不开网络.那么物联网是否离我们的生活十分遥远?其实物联网随处 ...

  8. 有了这套模板,再不担心刷不动LeetCode了

    (图片下载自视觉中国) 作者 | 李威 来源 | https://www.liwei.party/ 整理 | 五分钟学算法(ID: CXYxiaowu) 正文 下面的动画以 「力扣」第 704 题:二 ...

  9. 聊天机器人落地及进阶实战 | 公开课速记

    嘉宾 | 邵浩 编辑 | suiling 来源 | AI科技大本营在线公开课 近年来,聊天机器人技术及产品得到了快速的发展.聊天机器人作为人工智能技术的杀手级应用,发展得如火如荼,各种智能硬件层出不穷 ...

最新文章

  1. Microsoft Visual Studio 宏脚本添加注释模板
  2. Java基础-方法(2)和数组
  3. centos关机与重启命令详解
  4. Open vSwitch作为openflow交换机的启动方法
  5. 【推荐实践】阿里飞猪“猜你喜欢”推荐排序实践
  6. php 读xml的两种方式
  7. 【图像去噪】基于matlab GUI均值+中值+空间+高斯滤波图像去噪【含Matlab源码 763期】
  8. linkedin android,如何在android中登录linkedin?
  9. 记录一下我的游戏私服搭建(台服dnf)
  10. 佳能Canon imageCLASS MF742Cdw 一体机驱动
  11. 微信小程序分享/转发功能方法
  12. UE4C++新建文件夹
  13. 《人性的弱点》-[美]戴尔·卡耐基
  14. 【R语言】【可视化】 之 维恩图
  15. u3d 镜面反射的效果
  16. 黑马程序员——Java基础--IO流(一)---File类以及其他流对象
  17. 动易安全开发手册[zt]
  18. Idea注释输入中文,显示为日文
  19. 图像增强论文精读——ExCNet:Zero-Shot Restoration of Back-lit Images Using Deep Internal Learning
  20. 计算机应用技术博士,全国新增所大学计算机应用技术博士点

热门文章

  1. 世界顶级黑客Kevin D.Mitnick教你如何在数字世界中真正隐形?
  2. Linux内核基础篇——常用调试技巧汇总
  3. wd移动硬盘插电脑没反应_西部数据移动硬盘插电脑上不显示?
  4. 不正确站立会_站立式办公桌可能(不一定)挽救您的生命
  5. ❥关于C++之函数指针函数对象
  6. oracle user does not exist,user 'scott' does not exist! 又学了一招
  7. 通过opencv (python) 获得mynteye小觅双目图像
  8. TiDB 作为 MySQL Slave 实现实时数据同步
  9. 【转】DRY原则的误区
  10. 如何科学化、系统化的构建行业舆情模型(关键词方案)