作者:Geek Arm 链接:https://www.zhihu.com/question/26627764/answer/33452653 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 如果你是做产品,当然要优先考虑用当前量大的,出货有保证的芯片。经过市场检验的芯片,质量也不会太次,市场用量大,价格也相对低一些。其实使用新推出的IC做量产产品,运气不好的话会遇到很多坑,我们就曾经因为使用一款新的IC,导致产品在温湿度环境实验的时候出现INT概率性宕机,经过大量的试验和测试(当时在温湿度环境下,测试人员和我们工程师的小手都被蒸成红烧猪手了,那个湿度和温度相当高!),最后我们定位到了宕机问题和我们的软件设计,硬件设计无关,问题恰恰出在这个新IC上面,因为查找这个问题耽误了项目进度,导致我们的项目延期,被客户罚款(客户是衣食父母,得罪不起啊)原厂也只能说下个季度修正这个BUG。 %¥%××&&还能说什么呢?只能说算是我们选型方案失误。另外有很多小的IC原厂,并不能够保证芯片的生命周期,但是大的厂商可以给你保证XX年内都还是可以买到这款IC的,这样你就不用担心当你的产品大卖时却遇到芯片缺货,无法及时生产的尴尬了。如果你只是学习,特别是学习单片机或者其他的嵌入式软件底层编程,那我建议您选一款资料最多的芯片可以了。如果别人问我,我会说其实STC的8051内核单片机就是一个不错的选择。因为它的芯片架构相对简单,应用也很成熟,资料多,玩的人也多,上手比较轻松。我们大学课本都是以讲8051为主。资料是最丰富的,无论是网络上的贴子、书籍、视频,都已经形成了一个完整的体系。你碰到的大多数问题,别人都已经碰到并解决了。入门也最简单,最快速!首先更正一些概念:8051并没有过时:1. 写驱动中不涉及CPU,只涉及CPU之外的设备 嵌入式芯片被称为SoC(System on Chip),它上面既有CPU还有其他模块,比如GPIO、I2C、UART等。 如果你是单片机嵌入式软件工程师, 无论是8051、STM8、STM32,对我们来说是没有差别的; 差别不在于CPU核, 差别在于CPU之外的模块的寄存器操作不一样。 因为我们写驱动并不涉及CPU核,只是操作CPU之外的设备,只是读写这些设备的寄存器。 |