找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5349|回复: 6
收起左侧

STM32F4学习笔记(共146页PDF精彩讲解文档下载)

[复制链接]
ID:309281 发表于 2018-4-16 15:20 | 显示全部楼层 |阅读模式
编者 序

作为一个还在校园里的本科生,我受够了封闭的,腐朽的,令人压抑的,所谓的大学高等教育。我只是想说,在我们疲于应付考试,忙于争夺奖学金,有志于参加比赛,拼命考取证书之外,我们是否想过,我们真正学到过什么?我们是否问过自己,我们喜欢什么?我们是否观察过社会,社会需要什么人才?四年的光阴,就在这迷惘泛滥成灾的大学校园里,一分一秒,一时一刻,一年一月地消磨掉?我可以问心无愧的说,我不是在消磨时间,我的大学没白读,因为我学到了那么一点东西。但我也纠结过,也迷茫过,也矛盾过。当我每次打完电话给家人,就要挂的时候,他们最后的叮嘱都是,要用功学习。我没有用功学习,我不像大多数人一样,拼命地把每一门课程的考试成绩都保持在 90 分以上,我拼命做的是别的事情,我不在乎奖学金,我也不在乎考试成绩,进不进学生会也无所谓,我只想学,学以致用。所以我也无法向家人证明,我努力了,但我坚信我坚持的是对的,即使我走的是“独木桥” 。 我身边有一些同学对 51 单片机很感兴趣,于是除了看统一订的课本之外,还到图书馆借一些书来看, 他们习惯了学一样东西, 就要看这方面的书, 教科书,越厚越好。殊不知,除了数据手册,其他的绝大多书都是浮云。而且引用一位神人说过的话,资料被翻译成中文的芯片,都是被人用烂了的,再看这种资料已经走在别人后面了。这话虽然说得绝对,但也不无道理。所以我在这里要做的是,参考数据手册,记录其中的要点,总结出配置寄存器的步骤,写出自己的程序,仅此而已。

                                                         小船
            于 广东石油化工学院测控实验室

前言

意法半导体 2011 年 9 月份新推出的 cortex-m4 内核微控制器 stm32f407VG,主频达到 168M,带 FPU,单周期 DSP 指令,如果出货量跟的上,st 将会再一次席卷 MCU 市场。 而 TI 也早早地发布了自家的 cm4 处理器,业界首款 65nm Cortex M4 MCU 系列——Stellari。飞思卡尔,Atmel 等等在 cortex-m3 上被 ST 占了先机的巨头们,也不甘落后,纷纷推出自家的 M4。在 cortex-m4 的市场上,将不会是 ST 一家独大。 与STM32f4 的高频率, 大容量, 隐隐约约威胁低端 DSP 市场的定位不同,TI 的 M4 是为了抢 ST 的 M3 市场的,而 NXP 则倾向于 M4-M0 的双核结构,在未来的 M4 市场上,谁家会胜出?我们拭目以待。 我之所以选择 stm32f4-discovery 作为硬件平台,是因为它相对于我们学生来说比较便宜, 比较方便。 一块小板子上集成仿真器, 加速度传感器, MEM 话筒,音频功放芯片,只需要一根 USB 线连到电脑上就可以调试了,绝对对得起一百来块的价格,而且这种小板子是意法半导体公司为了推广他的芯片而推出的,在价格上比较平民。虽然这种板子不带有视频教程,但是可以到 ST 官网上下载相应的库函数例程。虽然还没有中文数据手册,但我觉得看懂英文数据手册是一个工程师所要具备的技能。 虽然我不是一名工程师, 但我有一颗成为工程师的心^*^。 编译器之所以选择IAR而不是Keil, 是因为我觉得IAR的编译效率是最高的,尤其是在编译大工程的时候,而且它有很多的设置能使得调试比较方便,比如可以为工程设置几种配置,每种配置设定编译不同的文件,定义不同的宏,选择不同的优化等级,等等,我在搞 Zigbee 协议栈的时候深有体会。Keil 也有他的特色,比如代码编辑比较人性化,快速注释等。 为什么我会去操作寄存器而不直接用库函数,是因为直接操作寄存器会对芯片底层的工作比较了解, 对整个程序的细节都很清楚, 写出来的代码效率会很高。  然后我们手上所需要的数据手册有:
《Cortex™-M4 Devices Generic User Guide》ARM 的 M4 用户手册
《RM0090 Reference manual》ST 的 stm32f4 系列参考手册
《stm32f407_datasheet》stm32f407 的数据手册
0.jpg
STM32F407VGT6 微控制器的时钟
复位后默认选择 16 MHz的内部 RC振荡器作为时钟。这个 RC振荡器有 1%的精度,用户也可以选择外部的 RC振荡器或 4‐26 MHz 的时钟源,如果检测到这个时钟出现故障,系统将会自动切换回内部 RC振荡器并产生一个软件中断(如果启用) 。
该时钟源输入到一个 PLL 从而允许陪频到 168 MHz。
通过多个预分频器可以分别配置的两条 AHB 总线,高速总线 APB(APB2)和低速总线APB(APB1) 。AHB 最高频率为 168M,高速 APB 的最高频率为 84M,低速 APB 最高频率为42M。
   芯片内嵌入了另一个 PLL(PLLI2S)从而允许 I2S主时钟产生所有从 8 kHz至 192  kHz 的频率。

系统时钟(SYSCLK)可以从以下三个不同的时钟源中选择:
HSI 指振荡器时钟
HSE振荡器时钟
锁相环(PLL)时钟

两个可选低速时钟源(用于实时时钟和独立看门狗) :
  内置 32K 时钟
  外接 32.768K时钟
0.png
0.jpg

0.jpg

0.jpg

完整的pdf格式文档51黑下载地址(共146页):
我的stm32f4学习历程.pdf (4.95 MB, 下载次数: 161)
回复

使用道具 举报

ID:20672 发表于 2018-10-18 12:27 | 显示全部楼层
谢谢分享,学习学习。
回复

使用道具 举报

ID:457126 发表于 2018-12-28 11:20 | 显示全部楼层

谢谢分享,学习学习。
回复

使用道具 举报

ID:460235 发表于 2019-1-2 17:23 | 显示全部楼层
感謝分享~~
回复

使用道具 举报

ID:725041 发表于 2020-4-8 19:29 | 显示全部楼层
多谢分享
回复

使用道具 举报

ID:724175 发表于 2020-4-8 20:56 | 显示全部楼层
谢谢分享
回复

使用道具 举报

ID:881961 发表于 2021-5-23 11:36 | 显示全部楼层
没想到碰到测控的了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表