记得前段时间,我收到了一个小伙伴的咨询:51单片机用什么仿真?
说到仿真,大家第一个想到的肯定是单片机仿真软件proteus。
这个软件我在很多年前用过一次,后面就再也没用了。
原因很简单,虽然用的很方便,但是单片机开发是一个比较注重实战的技能。
这里说的实战不是让你在proteus上实战,而是在实际的板子上调试。
软件再强大,很多参数都是固定的,而实际出来的硬件会有非常多因素的影响。
比如说元器件选型不对,程序延时不对,这些都会造成你的程序跟仿真的结果不一样。
所以我们无际单片机编程坚决让学员能实际动手干,就不要用仿真。
哪怕是你打个板,也不用花多少钱,但是你从打板到焊接,再写软件实现功能。
这个过程能让你学到非常多东西,问题很多时候就是出在最容易被忽视的地方。
大家千万不要小看那些功能简单的产品,实际做起来也没那么简单,需要考虑的因素很多,我就在这上面吃过很多亏。
所以,不要说仿真了,记得在前几年我做一款产品的时候,自己没思路,然后抄袭同行的板子。
电路抄袭的一模一样,但是就是做不出来别人的功能,后面因为客户那边有变动,那个产品也搁置了。
那个问题也一直没想明白,后面我们初步判断有可能是哪些器件影响的,因为产品是220V供电,需要输出的电流比较大,哪怕是一个电解电容选型不对都会导致产品性能。
所以,新手学习单片机我强烈建议不要使用仿真,自己买个开发板和配件也花不了多少钱,投资自己这点钱都舍不得就不用学了。
一般实际产品开发,那些硬件工程师都不会在仿真上进行验证,而是直接打板调试。
如果有问题的话就飞线,一个产品最终肯定需要经历几次打板的过程。
我自己的焊接水平和硬件的一些知识就是通过自己不断经历这个过程掌握的。
虽然我们是从事单片机软件开发,但是跟硬件工程师打交道,难免会有摩擦。
比如说硬件工程师打死不承认是他的问题,除非你找到确凿的证据。
这种事情我经历过几次,想解决就必须自己亲自动手飞线改电路,最终把问题解决确定是硬件的问题。
这也是我之前一直说的,为什么要先定位软件,因为做软件的过程必定会频繁接触到硬件调试。
而硬件调试基本接触不到代码,软件做久了,产品做多了,自然而然硬件也懂的差不多了。
后面,我自己也尝试了几个产品的pcb layout,慢慢有了自己从零独立从项目的能力。