扬升资讯

单片机怎么编程(单片机如何程序编程)

8balincan|
162

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

单片机怎么编程(单片机如何程序编程)

作为一个有经验的人,对于如何提高单片机的编程能力深有感触。

工作的前3、4年,做了一些产品,觉得自己水平还可以,直到去了一家创业型mini公司…

R & ampd公司配备了一块硬件,同时又缺少一块软件,我正好补上了。

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

我看着不知所措,我也没什么想法,但是目前的情况不好找工作。就算做不到,我也要坚持下去。我淡淡的回答:没问题,然后我跟老板说了怎么实现。别的我就不提了!

同时也给自己留了后路,补充道:我们前期做这个产品可能需要很长时间,前期还要评估双方。我觉得应该先从小产品入手。你认可我的技术,我也认可公司,我们可以进一步合作。

老板连连点头:嗯嗯。

我心里想的是:我可以拿一个月的工资吧?一开始给我一个boss,估计很快就能GG了。

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

进入这家公司后,前期的产品都做得很好,都在掌控之中。

但是纸不可能永远不着火。后来公司打算做一个有APP控制的物联网主机。

策划的时候大概心里有底,知道怎么写程序。

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

但是真正做起来就完全不一样了。代码怎么写的我不满意,已经实现了这个功能。当我编写另一个函数时,我发现它与其他函数冲突。

还有物联网主机,都需要和云平台进行实时数据交互,比如心跳,还有其他杂*的数据。如何完整的接收这些数据,不丢失一个字节?

除了这些,我们还必须处理其他功能,如语音、按键、LED特效等。

还得用app调试。有时候安卓能实现,苹果不能,代码得想办法解决。

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

但是没有办法。我只能硬着头皮去死。一方面,我要对公司负责;另一方面,我想提高自己的技能。

做这个项目,我基本上每天都是第一个上班,后一个下班。当我困的时候,我会喝一瓶红牛或者咖啡。

解决这些技术上的问题,我主要用了2个方法:

1.网上搜每个问题的解决办法

/p>

2.翻阅以前公司老工程师写的代码,看是否有同样的应用场景,他们是怎么写的。

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

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

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

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

做中大型的产品,如果你做不出来,肯定是忽略了2个方面:

1.程序架构

2.程序算法

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

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

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

那面重点来啦!!!

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

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

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

想要源码和视频文件的可以找我,懒得**的直接去小破站找我名字看就行。

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

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