联系方式

    深圳市英瑞尔芯科技有限公司

    电话:

    186 6591 0262

    E-mail:

    sally@szinter.com.cn

    地址:

    深圳市福田区振华路现代之窗A座7B

没有51基础,能不能学好STM32?

发布时间:2022/9/13 21:57:00

来源:http://www.szinter.com.cn/news867090.html

在不久之前我也曾被和题主相似的问题困扰,因此不请自来。其实很多人如果不学51根本就搞不懂寄存器总线ALU之类的硬件概念,甚至学了51、学会了写个中断定时器什么的也是糊里糊涂的。如果连在51上面用寄存器操作IO口背后发生了什么都不清楚的话,那么你看到stm32的IO口操作的时候心里面一定会有无数草泥马飞奔而过的。所以学习MCU一类的东西必须先从微机原理和51开始。stm32的确比51先进多了,但是你看学高数也得从微积分先学起吧,总不能因为微积分已经被撸了百来年就觉得是被玩坏的没有学的必要了吧。回到stm32上面,这里面其实有个知识链。计算机基础 -> 微机原理(+数电,如果搞外围还要模电)-> 51 -> ARM 的 stm32各种“由入门到精通”的how-to书都有一个很大的问题都是因为它们不会专门地解释各种专业名词和概念,有的甚至堂而皇之地建议读者“看不懂可以先跳过”,给人一种只要抱着这本书就可以独孤求败天下无敌的幻觉,这是非常不负责任的。因此看不懂stm32那些资料是大都是因为不懂资料里面的各种专业名词,所以最好的学习方法就是从左边开始一步一步向右边的目标靠近。其实认真啃完微机原理并不用很久,在51上面用汇编写些小程序可以很好地帮助理解微机原理里面的那些概念了。当啃完微机原理和51后,对单片机的内核和外围电路有了比较清晰的框架以后,再看stm32,就豁然开朗了。(在这里要感谢 @陈俊直和 @Kaiser Li两位前辈之前的指导)补充一下,微机原理里面一些为了支持高级硬件而采用的特殊方法,比如面向大内存的分段管理,MMU,DMA之类的概念,可以先略过。对于多如牛毛的汇编指令,看程序的时候重在理解其中的思路。个人认为除非对计算机体系结构有兴趣,就不必深究了,一般的MCU项目都应该用不到这么多而复杂的外设。
相关标签: