经过前一阵子的迷茫,果断在网上找了一堆学习笔记之类的,对照着例程,慢慢的也总结出了自己的一套学习方法,最终,终于可以在串口上面做一个简单的四则运算了(用中断处理)。。。。
学习笔记中有句话印象特别深刻:既然有官方库这么方便的东西,为什么我们还要装作一副很高深的样子挨个去配置寄存器呢,费时费力,我们应该站在巨人的肩膀上工作,而不是自己从头再来。(仅仅做意思上的转达,不是原话)
所以更加坚定了我直接学习函数库的信念。
通过自己的一番总结,也有了自己的学习方法。即在学习一个外设的时候。
1:先想好自己要用这个外设实现个什么功能,比如我现在要学习串口,就想着用串口做一个简单的四则运算。
2:再看 参考手册 ,只需要看到前面概述的部分,明白一个外设基本的工作原理就可以了。
3:再看 开发板 附带的关于这一部分的例程,看看例程为了动用这个外设,用到了哪些基本部件。比如要用串口的话,需要配置在RCC里面配置好GPIO/AFIO/USART,还要配置好Rx脚配置成浮空输入模式,将Tx脚配置成复用推挽输出模式,还要在NVIC中将串口中断使能,最后才是配置串口。
4:再看 函数库里面的相应外设部分,了解这个外设总共有多少函数可以用,明白每个函数的大概意思,因为要用到一个外设的话反正只有这么多函数可以用。
5:根据自己对2/3/4的理解,把1给实现了,千万不要直接复制例程里面的代码,而应该只从例程里面了解到编程思想,直接从函数库以自己的理解复制粘贴代码过来。
6:5写的代码肯定出问题了,没事儿,进入Keil的调试模式,在Menu-〉外设 中找到对应的外设,看到所有的寄存器了吧,这个时候根据自己的理解挨个看吧,必要的时候就返回到看 参考手册 的寄存器部分了。
7:代码调通了,自己也就算是对这个外设有一定的理解了,以后可以调用了。当然,以后调用的时候可能应用环境不一样,用到的外设部件也不一样,到时候再调试便是,因为我已经知道要怎么调试了,对这个外设已经有感觉了,那时候写得自然也就快了。
我用这个步骤学完了EXTI和USART两个外设,按照这个步骤总结学习下来,我算是真的明白了什么叫做再巨人的肩膀上编程,哈哈。以前写6713的时候直接操作寄存器,代码出问题的时候总是要对着参考手册挨个看是不是哪一位配置错了,是不是哪个寄存器没有配置到位之类的,而现在全免了。
总结一下,呵呵,接下来需要调试公司的一块STM的板卡,不能继续学习新的外设了,估计板卡应该在一个星期内能够调完。
下一个外设准备学习DAC,然后是Flash,准备用STM32玩玩youscope,还没计算过,不晓得STM32和我的示波器能满足要求不,呵呵。
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。