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