EDA365电子工程师网

标题: 怎么学习单片机? [打印本页]

作者: ArthurGXH    时间: 2017-12-5 16:49
标题: 怎么学习单片机?
怎么学习单片机?8 \% Z& E9 u/ t8 H
      学习单片机之前,具备一些与单片机相关的知识是很有很必要的,比如计算机原理、模拟电路、数字电路、C语言编程等。下面的方法可能不适合每位初学者,但这种方法学起来可能会比较快,这种方法就是以练代学。: f* ^2 O4 e6 ?; R. O1 a& a! }! k/ {$ p
1. 在某宝上买一块51或STM32的实验板,买功能最少且便宜的即可。
3 J5 v5 H/ Q- u/ g/ C! g" m2. 安装开发用的软件KeilC或MDK,安装编辑器SourceInsight、UltraEdit等。养成在编辑器里编辑程序习惯。/ R2 _; c2 j8 K, F, }
3. 随便用一个实验板附带的例程,在上面修改程序。比如,你想学习控制IO口,就在例程上有控制IO的地方修改,同时看芯片手册上的IO寄存器内容。掌握IO口的控制之后,再控制定时器,同时看芯片手册上的定时器寄存器内容。至于中断,初学者理解起来可能有点难度,中断服务程序里应注意保护现场、公用变量的保护、程序执行的时间尽可能短等。有不理解的地方,可以在网上搜,或者在论坛里问。6 T/ j- @5 `0 h/ X. }1 V0 W
4. 工作中修改一些资深程序员的程序(可能他已离职),做得越多体会越深。遇到任何异常现象,千万不要放过去,办法总比困难多,熬过去你就又进步了。无论老板对怎么待你,你都要尽全力把每个项目做到最好,越认真进步越快。* o' L! r) Z! O& e. \
5. 工作到一定程度,像AD、PWM、I2C、UART、SPI、DMA、中断嵌套等就是家常便饭。只要看懂了USB协议,你也能搞定USB device。把芯片的各种资源合理利用,程序也尽量少用阻塞式的。多花一些精力在程序的健壮性上,比如写程序不用看门狗也不出问题。多练多思考,把一些好用的招式记录下来,直到某一天你不再需要任何招式,甚至大多数时候可以根据异常现象定位问题的发生地。* J6 x7 L" B4 o3 m# I: r) Z# P, m# d
4 P0 ~% C1 j! P  N/ R2 `
      我感觉单片机和ARM的基本原理差不多,学习好单片机对学习ARM绝对是有帮助的。跑Linux系统的ARM需要更多方面的知识。在产品出现问题时,知识越全面越容易准确定位问题的发生地。硬着头皮学单片机,很快就可以入门。最后祝愿学习单片机的朋友们都能很快入门。& `3 x, y# s  d+ c9 q$ W- A

, C# b1 P3 r- R$ N




欢迎光临 EDA365电子工程师网 (https://bbs.elecnest.cn/) Powered by Discuz! X3.2