注:博主使用的是STM32F4探索者
一、参考资料
1、STM32F4数据手册:STM32F407ZGT6.pdf
2、STM32F4中文手册:STM32F4xx中文参考手册.pdf
3、开发板原理图:Explorer STM32F4_Vxx_SCH.pdf
二、芯片内部资源
1、芯片实物图片
2、芯片对应的参数表
3、内核
(1)32位 高性能ARM Cortex-M4处理器
(2)时钟: 高达168MHz,实际还可以超频一点点
(3)支持FPU(浮点运算)和DSP指令
4、IO口
(1)STM32F407ZGT6:144引脚 114个IO口
(2)大部分IO口都耐 5V (模拟通道除外)
(3)支持调试: SWD和JTAG,SWD只要2根数据线
5、存储器
(1)存储器容量: 1024K FLASH, 192K SRAM
6、时钟、复位和电源管理
(1)1.8~3.6V电源和IO电压
(2)上电复位,掉电复位和可编程的电压监控
(3)强大的时钟系统
- 4~26M的外部高速晶振
- 内部16MHz的高速RC振荡器
- 内部锁相环(PLL,倍频),一般系统时钟都是外部或者是内部高速时钟经过PLL倍频后得到
- 外部低速32.768K的晶振,主要做RTC时钟源
7、低功耗
(1)睡眠、停止和待机三种低功耗模式
(2)可用电池为RTC和备份寄存器供电
8、AD
(1)3个12位AD[多达24个外部测试通道]
(2)内部通道可以用于内部温度测量
(3)内置参考电压
9、DA
(1)2个12位DA
10、DMA
(1)16个DMA通道,带FIFO和突发支持
(2)支持外设:定时器、ADC、DAC、SDIO、I2S、SPI、I2C和USART
11、定时器多达17个
(1)10个通用定时器(TIM2和TIM5是32位)
(2)2个基本定时器
(3)2个高级定时器
(4)1个系统定时器
(5)2个看门狗定时器
12、通信接口多达17个
(1)3个I2C接口
(2)6个串口
(3)3个SPI接口
(4)2个CAN2.0
(5)2个USB OTG
(6)1个SDIO
三、芯片内部结构图
数据手册P17
四、芯片引脚和功能怎么对应
1、芯片内部结构图
2、数据手册引脚功能表
五、STM32最小系统--看原理图
关键字:STM32F407 芯片解读 数据手册
引用地址:
STM32F407--芯片解读
推荐阅读最新更新时间:2024-11-13 09:34
从Facebook到Ebay 解读英特尔芯片定制战略
近日,英特尔宣布其将为大客户生产定制芯片。如果情况确实如此,那么这对英特尔来说将是一个重大的转变,并有可能打破这家芯片巨头在传统生产经济规模方面的优势。 在上周一举行的媒体发布会上,芯片巨头英特尔表示,他们在芯片业务战略上采取了一个显著的转型,那就是推出了硅片定制业务,这种转型不仅仅向英特尔的大客户展示了英特尔目前为他们所作出的努力,也表明了英特尔在未来的计划发展方向。此次媒体发布会上,英特尔网络大规模应用和云计算业务主管贾森·韦克斯曼和黛安·布莱恩特具体阐述了英特尔推出芯片定制业务的原因和方式。而在十年前,即使是对这家传奇公司而言,芯片定制业务也是鞭长莫及。 韦克斯曼详细介绍了英特尔如何为eBay定制芯片的过程,并表示其
[手机便携]
stm32f407时钟系统
IWDG:内部32kHz RTC:内部32kHz、外部32.768kHz、HSE8Mhz分频 PLL配置:M=8,N=336,P=2,Q=7. SYSCLK选用PLL倍频的P,PLLCLK输出168Mhz AHB PRESC不分频输出168Mhz APB1 4分频为42Mhz APB1定时器84Mhz APB2 2分频为84Mhz APB2定时器168Mhz
[单片机]
关于stm32f407 外设程序编写过程 总结
一.背景介绍 17/07毕业,通过完成试用期的几个小项目,感觉自己能独立的完成部分项目,便接手了配合硬件工程师,将公司模块升级的任务(M3-- M4) 目标: 1.bootloader更改 2.将rt_thread 系统移植到 stm32f407板子上 3.将485,can , gsm ,以太网 驱动接口补上 4.重新设计程序收发流程,完成实时收发数据 (数据字典,wwdg , 校验设计,对上,对下的协议修改等等 ,这些已在之前完成,只要调用响应接口,调试下即可) 二.目标实现 目标1.bootloader更改 通过学习之前模块
[单片机]
STM32CubeMX 配置STM32F407 实现HAL库延时微妙方案
先说一下为什么写这篇博客。 不知道大家有没有遇到过这种情况,当你在移植别人的程序的时候,尤其是移植STM32的程序,从标准库移植到HAL库的时候,总是无奈延时微妙函数在HAL库中找不到,delay_us(u8 us); 很多次我都是用毫秒延时代替了, 但是,这样会使得程序的效率大大降低,所以通过参考别人的资料,通过定时器写了延时us函数,延时还是很准确的 1、我所使用的单片机型号及开发环境 **PS**: emmmmm… (这里并不是打广告,只是我个人使用的这个开发板,其他任何的开发板,只要主控芯片一样均可以) 开发环境如图,我是用的Cube+IAR, Keil5也可以的,都一样。 2、使用Cube配置定时器TIM
[单片机]
stm32F407之USART6的DMA工作方式
昨天调试了USART6的DMA工作模式,今天补发上这篇笔记。 力求简洁,stm32的DMA就不介绍了,不了解的可以搜索一下。这里重点介绍一下DMA的外设地址如何确定,这个是网上很少涉及但是很重要的一块,如果不清楚如何确定外设寄存器地址就无法进行DMA功能,这里以stm32F407的USART6为例介绍,参考手册为 RM0090 Reference manual 。 在进行DMA参数配置时有这样一项 DMA_InitStructure.DMA_PeripheralBaseAddr = ?;这句是要确定Memory与Peripheral数据传输时的外设数据地址,因为这里我们用到的是USART6从Memory的数组中取出数据并发送给上位
[单片机]
迁移51 的 LCD12864 到 Stm32F407
假期参加电赛崩了。。。闲的无聊,准备做一些底层的代码分享一下,也算是给自己磨炼一下吧。 这次做的是Stm32F407ZGT6 驱动LCD12864 的代码测试的时候使用的是正点原子的探索者 STM32F4开发板、 LCD 插在清翔的51单片机开发板上注意我是用的是 带有中文字库的版本 这里注意驱动LCD需要给模块一个参考电压也就是上图的VO否则LCD显示会出异常(颜色过深或者过浅) 我也是因为这个 所以才使用了成品开发板的电路 程序是从51单片机的程序上迁移过来的,咱们不做深究,只是注重一些迁移的细节。 以上是三个控制引脚的设置,其实还有几个是PSB需要设置,这个是一直拉高我就没用IO了 就直接接到VCC了
[单片机]
STM32F407时钟设置
这里我们写一个RCC配置函数来说明各函数的用途,其中HSE = 8MHz。 /** * @说明 配置STM32F407的时钟系统 * @参数 无 * @返回 无 * @说明 void Clock_Config(void) 按如下表格配置时钟 * *================================================================== * Supported STM32F4xx device revision | Rev A *------------------------------------------------------------------
[单片机]
stm32f407 usb cdc设备无法启动问题
最新要做一个项目,要求基于STM32F407实现USB CDC设备,首先想到的就是直接用STM32CUBEMX工具来生成,OK,话不多说,直接上过程: RCC配置: Sys配置 USB_OTG_FS配置: USB_DEVICE配置: 时钟配置 然后生成代码并编译,烧录后发现设置有点问题: 出现上面的问题显然是不能正常命使用的,曾以为是驱动的问题,重新去官网下载最新驱动并安装后,结果还是一样,换个开发板工程重新置,也是一样的结果!由是定位为是程序问题,以为是HAL库版本问题,试过用不同的HAL库版本重新生成代码(1.21.0/1.23.0/1.24.0)最后结果还是一样!!排除了库版本的问题,重新回
[单片机]