你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【STM32F429心得\疑问】怎样学习STM32F407

[复制链接]
sirhawk 发布时间:2014-4-30 22:56
        虽然,这样的文章很多,但还是想讲讲自己学习STM32的历程,希望给新手一些指导。
        首先,说一下,我之前的开发经验,以前做过飞思卡尔,用的是XS128。但是ARM系列的机子,没有用过,对于库的概念完全没有,因此刚一接触这款单片机是一头雾水。找资料也找的够呛。
       自然,最好的学习平台就是开发版了,在这里推荐STM32官方的DISCOVERY系列,本人用的就是这个系列。用DISCOVERY里面有很多例程。这是非常重要的,你会发现官方的程序原来可以这么写,对于你的编程风格有很大的帮助。而且最重要的是不贵,不到100块钱。
  对于我来说,拿到单片机的第一件事,就是跑起来,我觉得这是很重要的事情,这样才有成就感,哪怕是一个简单的流水灯,最起码也要用起来。刚拿到discovery的时候,里面就有程序,插上USB就能闪烁。但是这个程序毕竟不是我们的,所以只能作为欣赏。
       首先就是从官网上下载资料,一个是DISCOVERY的资料,然后就是F4芯片的资料。官方的资料很多,也很有用,但对于初学者来说我觉得这两个压缩包是最最重要的。在此,说一下,我当时为了找到F4纯正的库文件,走了很多的弯路。在网上搜资料,都是以前的资料,官网上根本找不到,实际上,在官网上下载STM32CubeF4,就包括了所有的你所需要的资源。很重要,希望大家少走弯路。
       关于资料还有一个重要的途径,就是淘宝,万能的淘宝啊!很多商家在卖产品时会公布,回公布资料网址,我在淘宝上就看到了一套神州系列的开发板,F407的,将里面的资料全都弄下来了,很有用。所以大家以后要多多利用淘宝啊!
        然后,就是库文件的学习,库文件繁多,如果单纯学习库文件,会把你看哭,我就是这样,面对这么多库文件,我当时想这,从哪里下手,实际上,最简单的方法,就是看例程,然后移植例程,在stm32CubeF4里面有template,这个真是好东东,省却了以前要建库的诸多麻烦,而且对于新手来说,你只要把CUBE里面example里面的例程看了,然后再把他移植过去,那我相信,对于整个库,你肯定有了一个认识,否则,别人说的再多也没用。调试运行,是看执行过程的一个很关键的方法,尤其在面对纷繁复杂的F4的库时,你会发现,单看程序会很头疼,单步调试很容易看到程序运行到哪里。这样就对程序在库中的运行有了一个大致的了解。关于库刚开始不必深究。就是看懂每一个函数的用法就可以了,对了,固件库的说明,我自己找了好半天,找了半天,发现固件库的说明原来就在程序中啊!程序的注释不就是固件库的说明嘛!尤其是最重要的,每一个库文件前面的一大串英文,很重要,这是我一开始是忽略掉的,因为上来就是一大串法律声明,以为后面没东东了,好东西都在后面呢!这点,我走了弯路,希望大家少走弯路。
      模块方面的学习:
      首先就是时钟,时钟的配置,是高级单片机的一大特色,对于从低级单片机过来的我,很不适应,大大的一个时钟树,放到那里,看起来甚是复杂,其实没那么复杂,比对程序就可以看出时钟设置的方法,无非就是时钟源的选择,还有时钟分频的选择,比对程序。对了,在这里有必要说一下,怎么看这个模块挂的什么时钟,这一点和低级单片机不一样,原来的单片机非常明白的说着这个模块挂在哪个单片机上,但是,在这里,没有即使是看英文说明,也没有写,比如我在调试SPI1的时候,很是嘀咕,这个波特率怎么设啊!我怎么知道它挂在哪个总线上,网上搜资料有说PCLK1的有说PCLK2的,看的我一头雾水,后来,浏览说明的时候,猛然间发现哦,原来看内存地图就行了,上面写的明明白白,瞬间开朗,软件SPI1和SPI3等挂的总线是不一样的。
  然后是GPIO的学习,关于寄存器方面就不在赘述了,相信相关资料数不胜数。STM32的学习,一定要学会说明文档,当时学XS128的时候,一个引脚图清清楚楚,这个引脚有什么用。但是STM32我当时做参考的只要参考手册,引脚图都没有,后来才发现还有一个数据手册,后来发现数据手册也不行还得有Cortex_m4_user guide,三个PDF文档,才能做下去,因为很多CORTEXM4内核的东东,比如中断优先级还有SYSCLK等都是数据内核层面的东西,Cortex_m4_user guide这个上面才有。
  中断函数编写,这个还是最重要的就是看例程,看一下函数怎么调的就行了,有时候中断函数不知道从哪里来的就用CTRL+F查找将查找范围设为PROJECT,就行了,就可以看到一步一步,中断函数是怎么来的。
  SPI,IIC通信,这个问题,关于通信过程,推荐大家上网上搜一下软件模拟的实现方式,这样可以让大家对整个通信过程有一个深入的了解,比单纯的看文字要好很多。实际上,最新的库封装的相当出色,基本上直接调用就可以了,但是如果大家对通信方式不甚了解,后面写程序还是会遇到麻烦的。
  今天,先写到这里,现在还在调试,后面的很多模块还没有用到,用到再向大家忠诚汇报。
  顺便说一句,我当然是看到那个活动了,免费的送F429开发板,希望版主看到了,给小弟一块。虽然,今天就是截止日期,但发现的太晚了。没办法。
      
 
1 收藏 评论0 发布时间:2014-4-30 22:56

举报

0个回答

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版