《学习准备:第一步》
写在前面
首先是介绍一下自己,本人 是来自武汉某不知名本科高校的一只普通大学牲(大二),在实验室学习,一方面是嵌入式爱好者,在大一的时候偶然开始了单片机的学习,进而一发不可收拾,从而大量投入也认真的学习,本人最开始是跟着江科大的51教程一步步走到现在,后面就学习了 stm32,使用的是正点原子的stm32F407ZGT6最小系统板,想着跟着原子的HAL库例程学习,但发现 原子的官方例程是使用的类似于标准库的办法,并不是用的cubemx配置的方式,进而就有了 改写其 例程的想法,一方面也是提高自身的水平,广交大佬,一方面也是给实验室的下一届学弟学妹们 写写入门指导 ,希望大佬们多多指导,我接受大家的建议批评,水平不够的地方也还请大家多多包涵。
(绝对不是给原子打广告!!!!!!)
那这一趟正式开始!
首先是介绍本次使用的开发板芯片
STM32系列专为要求高性能、低成本、低功耗的嵌入式应用设计的ARM Cortex®-M0,M0+,M3, M4和M7内核,我们选择的是f4系列,1,stm32f407拥有(F407ZGT6)1MB内置flash,以及192+4KB的运行内存,足以满足大部分需求。但是实际运用中有128KB可以使用,并且这里保存着运行过程中系统所占用的空间,所以实际可用空间低于128KB。
2,stm32f407的主频通过PLL倍频后能够达到168MHz,而且芯片内置一个16MHz的晶振和一个32KHz的晶振,可以满足不同功耗的需求。
3,f407有3个12位精度的快速ADC,每一个ADC都拥有多个通道,并且这些ADC可以联合使用,满足不同的需求
4,f407也拥有2个12位的DAC。
5,f407也拥有2个DMA控制器,每个控制器都有属于自己的通道,每一个通道也就不同的流,这样就可以实现各种外设到内存,内存到外设等等不同的需求。
6,f407提供高达17个定时器,其中有2个32位的定时器,定时器主频可以达到168MHz。
7,f407高达120个GPIO,每一个GPIO可以复用成不同的外设引脚。
8,内置I2C,SPI,USART,I2S,CAN和SDIO等通讯协议接口。
9,全速USB2.0和互联网硬件。
10,RTC外设。
来自(50条消息) STM32F407概述_阿冬如是说的博客-CSDN博客_stm32f407
板子长这个样子,其中保留了lcd和oled模块,但是需要转接线和转接板,这个以后再说。
然后需要先介绍该系列的 ,学习需要的软件和 其他工具。
首先是下载器,jlink和stlink都可以,自己看着选择就好 。
其次是万用表 ,电工学习可是不能缺这个。
软件是keil5和 cubemx,要想用其他的话,cubeide也是支持的。我推荐的是MDK_ARM,因为keil会有一些调试的功能进行使用,比较方便。
keil5的下载百度上有很多,学习过51的应该都有,这里就不再赘述了。
cubemx可以直接去官网下载的 官网:www.st.com/stm32cubemx
最后贴一张cubemx的图
应该长这样。
再说说keil,keil需要提前去下载pack包,不然无法编译stm32的驱动文件。
有两种或方法可以下载pack包,一种是线上,
画框处点开如图 ,右侧search可以查找,
然后对应下载即可,还有一种办法,就是提前下载好相应的pack包,然后import一下,也是可以的。
点开左上角的file即可看到import,进而就直接按照你下载pack包的位置,进行配置。
这就是第一期的全部内容。
下面附上一些资料的链接
链接:https://pan.baidu.com/s/14HMaevHhV90QCpNnteuVXw?pwd=f407
提取码:f407
第二期预告:点灯!!!