大家好,我是无际,无实战不理论,下面是我从事单片机编程10年的终极程序。

对于怎么提高单片机编程能力,作为一个过来人,我感触很深!

工作的前3,4年,做过一些产品,自以为自己的水平还算可以了,直到去了一家创业型迷你公司…

公司研发配备了一个硬件,同时缺一个软件,正好我倪补了这个坑。

面试的时候,老板给我看了一些物联网主机,问我能不能做?

我一脸懵逼,完全没底,但是当下形势不好找工作,即便不会也要硬撑装逼,淡淡回了一句:没问题,然后把我会的跟老板说下大概实现方法,不会的一律不提!

同时,我还为自己留了一条后路,补了一句:这种产品我们前期去做可能会周期很长,前期都要评估下双方,我觉得先从小产品做起,你认可我技术,我也认可公司了,大家再深入合作。

老板连连点头:嗯嗯嗯。

我内心想的是:能混一个月工资是一个月吧,一开始就给我打boss,估计很快就要GG了。

就是这个迷你公司,成为了我编程能力大幅提升的一个转折点(我离开的时候,这家公司换了更大的地方,也组建了工厂,研发也达到了6个人,也算对得起公司了)。

进入这家公司后,前期那些产品都做的很顺利,都在掌控之中。

但是纸始终是包不住火,后面公司规划要做一款物联网主机,带APP控制。

在规划的时候,心理大概都有底,知道程序怎么去写。

反正代码怎么写都能实现功能,应该问题不大。

但是真正去做的时候完全不一样,代码怎么写都不满意,还有实现了这个功能,写另外一个功能的时候发现跟别的功能有冲突。

还有物联网主机,都是需要实时跟云平台进行数据交互的,比如说心跳这些,再加上其他乱七八糟的数据,我怎么能够把这些数据都完整地接收到,不丢一个字节?

除了这些,还要处理其他语音,按键,LED特效之类的功能。

还要跟app联调,有时安卓能实现,苹果不行,代码又得想办法解决。

这个项目几乎让我崩溃,一想到这么多功能就头疼。

但是没办法,只能硬着头皮死磕,一方面对公司负责,一方面我也想提升下自己的技术。

做这个项目,我每天上班基本第一个到公司,下班最后一个走,困了就喝一瓶红牛或者咖啡扛着。

解决这些技术上的问题,我主要用了2个方法:
1.网上搜每个问题的解决办法
2.翻阅以前公司老工程师写的代码,看是否有同样的应用场景,他们是怎么写的。

过程是非常烧脑和煎熬的,不断学习,不断尝试,我的发际线就是那个时候变稀疏的。

熬了2,3个月,终于把产品熬出来了,不过有点可惜的是,APP不稳定,很多技术没解决,比如说离线推送。

物联网产品就是这样,光自己做再好,云平台APP不给力也白搭,做硬件的公司又不可能自己去做云平台和APP(成本太高)。

不过这个产品带给我的收获是巨大的,说转折点一点都不过分。

做中大型的产品,如果你做不出来,肯定是忽略了2个方面:
1.程序架构
2.程序算法

程序架构是最重要的,会直接决定你产品的稳定性,好的程序架构肯定是基于模块化编程的。

程序算法排在第二,程序算法决定你产品的执行效率,不过如果你产品对实时性要求不是在us,ms级别的基本可以忽略。

想提升算法能力比架构要难很多,不同的产品算法也不一样,有些还要求你有很强的数学计算能力,这块我自认自己还做的不够。

那面重点来啦!!!

无际绝对不是吹完牛逼就走的人,还要给各位小伙伴提供解决办法!

程序架构这块我在19年正好录了一套视频教程,本来想付费的,后面一忙起来,懒得去折腾,干脆无偿分享给大家。

里面讲了很多C语言高级语法的实际应用,比如说写任务调度、队列、回调函数等,也提供了很多实际产品会碰到的痛点,比如说多按键多功能检测,LED特效、串口接收数据处理方法。

想要源码和视频文件的可以到【无际单片机编程】公号拿,懒得下载的直接去小破站找我名字看就行。

算是带大家走个捷径吧,都是自己多年心血总结出来的精华,可遇不可求!

大家安排个双鸡不过分吧?(可怜无助表情)

怎么提高单片机编程水平?相关推荐

  1. 提高C#编程水平的50个要诀[转载]

    一篇旧时的文章,看后觉得还可以,特别贴出来. 提高C#编程水平的50个要点: 1.总是用属性 (Property) 来代替可访问的数据成员 2.在  readonly 和 const 之间,优先使用 ...

  2. 如何提高团队编程水平

    如何提高团队编程水平 发布时间:2012-01-31 17:53     来源:伯乐在线     分类: 程序员 都等你发言 :) 分享到: 过去一年半里,我在为Mendicant大学(Ruby开发者 ...

  3. 我是怎么提高单片机编程能力的?

    我对编程的兴趣源于黑客- 没想到最后竟然走了单片机开发的路线,或许是现实不允许我有梦想. 黑客的成长过于漫长,而我当务之急是找份工作糊口. 我并不是计算机专业,临近毕业对编程也一窍不通. 第一次自学的 ...

  4. 如何快速提升单片机编程水平?

    大家好,我是无际单片机编程团队徐工 "嵌入式单片机开发到底怎么样?" 今天有个兄弟问我,我也不怎么好直接回答他,我就给他简单讲了一下我的一个成长经历. 我是在2018年参加学校电子 ...

  5. 提高计算机编程水平,写程序10大习惯和如何提高编程能力

    如何提高自己的编程能力 1. 扎实的基础.数据结构.离散数学.编译原理,这些是所有计算机科学的基础,如果不掌握他们,很难写出高水平的程序.据我的观察,学计算机专业的人比学其他专业的人更能写出高质量的软 ...

  6. 怎么提高python编程水平_编程新手如何提高编程能力?

    有些朋友给我留言说,兴致满满的开始自学编程,但是拿到一堆书,却不知道从哪开始,最后的结果就像下面这个图: 下面结合我之前的学习经历,如何从零基础慢慢提高. 1.首先,给你的学习编程一个重要的意义 做任 ...

  7. 提高C#编程水平的50个要点

    1.总是用属性 (Property) 来代替可访问的数据成员 2.在 readonly 和 const 之间,优先使用 readonly 3.在 as 和 强制类型转换之间,优先使用 as 操作符 4 ...

  8. 提高C#编程水平的50个技巧

    转自:网络 1.总是用属性 (Property) 来代替可访问的数据成员 2.在  readonly 和 const 之间,优先使用 readonly 3.在 as 和 强制类型转换之间,优先使用 a ...

  9. 提高.NET编程水平的50个要点(转载)

    1.总是用属性 (Property) 来代替可访问的数据成员 2.在  readonly 和 const 之间,优先使用 readonly 3.在 as 和 强制类型转换之间,优先使用 as 操作符 ...

最新文章

  1. Linux系统的大小端模式
  2. Juniper SSH防护
  3. MPB:林科院袁志林组-一种简易的植物组织表面消毒装置
  4. 朴素贝叶斯算法应用实例
  5. 修改Xmodem/Zmodem上传下载路径
  6. -webkit-scrollbar
  7. mstsc局域网远程 要预先做的设置
  8. 华为鸿蒙系统技术细节盘点
  9. 2020牛客国庆集训派对day4 Digits Are Not Just Characters
  10. 公式太多,读不懂? 一文带你领略KNN近邻算法~简单易懂
  11. python字符串_四、Python的字符串
  12. 02_感知机_统计学习方法
  13. KDDCUP CTR预测比赛总结
  14. 设计师常用网页小图标大全
  15. JAVA 函数的重载
  16. 第一章 网络操作系统概论
  17. 1044 mysql_MySQL 常见错误 ERROR 1044
  18. 一个简单的BitTorrent客户端实现(二):种子文件解析及信息保存
  19. 诺基亚推出全球最快路由器 瞄准苹果等网络巨头
  20. 安装Proteus8.9后出现找不到module或者default文件等问题以及运行仿真后报错显示,例如:Cannot find model file ‘APDS9002A.MDF‘.

热门文章

  1. 普林斯顿中国籍教授:中国学生是怎样被一步步淘汰掉的?
  2. golang源码分析:编译过程词法解析的流程
  3. 自然语言处理(NLP)之从文本中提取时间
  4. 使用OpenCV进行直播(附代码)
  5. 深度神经网络是否过拟合?
  6. windows10+Python3-如何安装numpy和matplotlib包
  7. C++字符串数组排序技巧
  8. 网站优化基础教程:发布外链常见的五种方式!
  9. 我们要的是一个简单的react-router路由
  10. 高精度地图量产难,四维图新利用优势准备实现突破