转载请注明:https://www.cnblogs.com/rockyf/p/11691622.html
开篇
开篇一定要精彩,不然路人不理睬!下述是笔者作为arm小白的填坑之旅
没错,这个之前一直从事软件开发的笔者,开始搞硬件了,当然仅仅是数电!模电需要有很扎实的电路基础,而笔者有的只有“扎实”的逻辑基础。
那为什么笔者要开始搞硬件呢?
其实早在大学期间,笔者所在专业(计算机科学与技术)中就有一门课就专门讲了硬件-软件的连接以及实现,只怪当初没有好好学,只是心中有那么个印象,就是时钟驱动逻辑电路去处理每一个指令然后完成整个逻辑(当然,这个印象很重要,在arm中,时钟就是它的心脏!)。
毕业后若干年,物联网行业开始兴起,于是手痒痒了,仅凭这一印象,开始入手了人生中的第一块板子——树莓派3B,用来做了一些小玩意儿,但那都是在linux的基础上做的,和软件开发没什么区别,于是乎,这块树莓派至今都在吃灰。
第二块板子便是arduino,比树莓派稍微有点难度了,没有OS,且ram也只有几百KB,做了几个demo后,发现太依赖arduino的环境了,也不是C开发,并没有真正接触底层,于是这块arduino跟树莓派正在一起吃灰中。
笔者的主开发语言是js,出于对脚本语言的熟练,我偶然间发现了NodeMCU这个东西,发现是块可以用lua脚本写逻辑的板子,甚是欢喜,后来还烧录了espruino固件和micropython固件,把玩了许久后终于还是去吃灰了!
看来IoT行业并没有那么简单,于是收收心搞主业了!直到上个月手头没啥业务了,又开始手痒痒,查阅了avr和arm的利弊后,最终选择了arm,毕竟大佬的意见是想挑战就选arm(其实arduino板就是使用了avr架构的atmega芯片)!于是开始某宝之路。
选材#1 STM32f103c8t6
笔者作为arm初学者,不能上来就搞大货(比如xx开发套件,xx集成开发板),一是贵,二是没必要。再三某宝后,最终选定了stm32最便宜的板子STM32f103c8t6,是国产的板子,应该是st授权过的板子,然后各种仿制。
笔者入的是块黑色板子,如下图:
这块板子对于初学者来说太实惠了,RMB11,65536b(64kb)的flash和20480b(20kb)的sram,完全够用了,还有一个microUSB口,舒服!
当然,某宝上还有其他各种颜色的板子,电路排布略有不同,但功能都不尽相同。
踩坑#1 烧录
兴致勃勃地拿了快递&