|
EDA365欢迎您!
您需要 登录 才可以下载或查看,没有帐号?注册
x
怎么学习单片机?& o, [6 J' W, {3 r
学习单片机之前,具备一些与单片机相关的知识是很有很必要的,比如计算机原理、模拟电路、数字电路、C语言编程等。下面的方法可能不适合每位初学者,但这种方法学起来可能会比较快,这种方法就是以练代学。' R9 Z! C3 W9 |+ v N# N
1. 在某宝上买一块51或STM32的实验板,买功能最少且便宜的即可。
/ r7 Y I! S, I2 k2 w' t5 b) M8 U$ j2. 安装开发用的软件KeilC或MDK,安装编辑器SourceInsight、UltraEdit等。养成在编辑器里编辑程序习惯。/ a5 j0 f, @7 J( t5 W
3. 随便用一个实验板附带的例程,在上面修改程序。比如,你想学习控制IO口,就在例程上有控制IO的地方修改,同时看芯片手册上的IO寄存器内容。掌握IO口的控制之后,再控制定时器,同时看芯片手册上的定时器寄存器内容。至于中断,初学者理解起来可能有点难度,中断服务程序里应注意保护现场、公用变量的保护、程序执行的时间尽可能短等。有不理解的地方,可以在网上搜,或者在论坛里问。
( g& H+ M6 n) N$ r8 b& _7 d9 w4. 工作中修改一些资深程序员的程序(可能他已离职),做得越多体会越深。遇到任何异常现象,千万不要放过去,办法总比困难多,熬过去你就又进步了。无论老板对怎么待你,你都要尽全力把每个项目做到最好,越认真进步越快。. A, h" r/ U& |0 ]
5. 工作到一定程度,像AD、PWM、I2C、UART、SPI、DMA、中断嵌套等就是家常便饭。只要看懂了USB协议,你也能搞定USB device。把芯片的各种资源合理利用,程序也尽量少用阻塞式的。多花一些精力在程序的健壮性上,比如写程序不用看门狗也不出问题。多练多思考,把一些好用的招式记录下来,直到某一天你不再需要任何招式,甚至大多数时候可以根据异常现象定位问题的发生地。
; N, C1 @( ~1 i1 E- p! a' I h0 F; x! q; M0 B7 I2 s
我感觉单片机和ARM的基本原理差不多,学习好单片机对学习ARM绝对是有帮助的。跑Linux系统的ARM需要更多方面的知识。在产品出现问题时,知识越全面越容易准确定位问题的发生地。硬着头皮学单片机,很快就可以入门。最后祝愿学习单片机的朋友们都能很快入门。
1 e( X1 g) d& }6 d, M- H K. f
: U/ c! p2 D8 i: c- g4 R |
|