大概是不行的。虽然stm32要求的c语言你学过,但是很多东西要是直接去学习stm32的话很难理解。并且目前stm32的学习资料不是特别多(相比于51单片机),基础的更没有了,几乎所有资料都是建立在对单片机有一定认识上的。虽然stm32的确很高级,但是必须很复杂,比较难懂,不然大家都去学习了。比如寄存器,中断等很多概念在stm32的资料中很少有详细地去讲,都是直接教你怎么用,可是你根本不懂那是什么,所以这些都得从简单的单片机中入手去学习基本的东西,目前最常用的基本单片机是51单片机,资料超全,也很详细,等你学的差不多时在去学习stm32吧,不然你会很痛苦的
我用的是官方库,平时写程序的时候,是在官方给的例程目录下,找相应的例程进行修改和学习。
将看不懂的库函数在库手册里检索,然后必要的时候看一下寄存器手册。
我个人觉得,能将库函数大致看懂,当你要写程序的时候知道去哪里找例程,应该找和什么有关的例程(比如写PWM的程序,应该要知道是去目录下找TIMER相关的例程进行学习和修改)就好了。
学得透彻比较难的,因为库函数下面的底层很难懂,你只需要学会查找、修改,能够看懂,能够灵活调用就好了。
先把STM32学了,至少知道有些什么硬件资源,资源是怎么控制的;上了操作系统,说白了就和硬件层关系就不那么大了,所有的资源都交给操作系统去管理了,上边写程序都是用操作系统给的函数接口;当然驱动编写是离不开硬件的。所以先要把硬件学会,有硬件基础了,就好办了,刚开始是有些不习惯,因为上操作系统就有些偏软件了,里面有很多操作系统的机制一时还转换不过来。如果觉得理解不了可以先看看操作系统原理,把一些概念理解了。其实无论什么操作系统都是有共同点的,无非就是进程调度,进程间的同步与通信,内存管理和文件系统等等。慢慢的自己移植(现在移植都比较方便的汇编和CPU部分都基本是现成的了,这才是操作系统的根基),把操作系统里面的机制都用一遍,慢慢的就理解了。要相信,没有足够的准备和积累,是吃不下一大块肉的,不要急。
本文标签:stm32好难懂