型号:
stm32F429IGT6
描述:
1、高性能、主频180MHz,cortex-m4,
2、Flash为1M,SRAM为256KB
3、引脚为176pin
芯片框架:
总线矩阵图:
其主控总线8条(S0~S7),被控总线7条(M0~M6,其包括:Flash、RAM和外设)。在总线交叉的时候即可进行相互通信。
存储器映射:(存储器本身没有地址,给存储器分配地址的过程叫存储器映射)
程序存储器、数据存储器、寄存器和IO口共同排列在4G地址空间中,其平均分为8个块,每个块为512MB。
如下表所示:
Block0设置为内部Flash,Block1设置为内部RAM,Block2设置为片上外设。
根据外设的总线速度不同,Block2被分为APB(APB1和APB2)和AHB(AHB1和AHB2),AHB3包含了Block3/4/5/6,其用于外部扩展存储器,如SDRAM。
寄存器映射:(给已经分配好的地址取别名的过程叫寄存器映射)
在C语言中用#define命令进行寄存器映射。
外设地址映射
APB为挂载低速外设,AHB为挂载高速外设,默认时钟时AHB速度为90MHz,APB速度为45MHz。
关键字:STM32 stm32F429IGT6
引用地址:
STM32学习笔记1-----初识stm32F429IGT6
推荐阅读最新更新时间:2024-11-02 04:17
STM32 USB 设备音频数据流
音频数据流的应用 音频数据流是没有任何压缩的音频数据,我们可以直接通过I2S传输到数字功放,也可以对这些数字音频进行处理,比如EQ音量控制、音质补偿等等。 典型应用举例 首先是PC,然后PC通过USB数据线连接到MCU,MCU再通过I2S输出到功放,最后连接到喇叭或耳机。 当然,还有GUI的部分显示可以控制,同时还可以通过麦克风把音频传输到PC进行刻录或保存。 同步问题 USB外设时钟、I2C外设时钟和外部功放时钟是同步的,因为它们共用一个时钟域,但不能同步PC的时钟域。 这些不同的时钟域将会造成音频的不同步,出现断音或丢失部分音频。 主要问题 1. USB的参考时钟(SOF)并不跟系统时钟同步,主要表现在三个方面
[单片机]
STM32 usb_init.c和usb_int.c文件分析
usb_init.c这个文件是主要是初始化。函数很简单: /******************************************************************************* * Function Name : USB_Init * Description : USB系统初始化 * Input : None. * Output : None. * Return : None. *******************************************************************************/ void USB_In
[单片机]
stm32 adc dma多通道采样 数据错位 的解决方法
解决方法:不要采用连续转换模式 ADC_InitStructure.ADC_ContinuousConvMode = DISABLE; 需要时才实施转换 ADC_SoftwareStartConvCmd(ADC1, ENABLE); 转换后取消转换 ADC_SoftwareStartConvCmd(ADC1, DISABLE); 经过测试能够解决stm32 adc dma多通道采样 数据错位
[单片机]
stm32 DMA 多通道数据采集
程序如下: /******************** (C) COPYRIGHT 2012 *************************** * 文件名 :adc.c * 描述 :adc应用函数库 * 库版本 :ST3.5.0 **********************************************************************************/ #include bsp.h #define ADC1_DR_Address ((u32)0x40012400+0x4c) __IO uint16_t ADC_ConvertedValue ; //__IO
[单片机]
stm32红外遥控的定时器实现
我用的红外遥控是使用的NEC协议,即使用PWM来调制发送的信息 NEC协议,其特征如下: 1、8位地址和8位指令长度; 2、地址和命令2次传输(确保可靠性) 3、PWM脉冲位置调制,以发射红外载波的占空比代表“0”和“1”; 4、载波频率为38Khz; 5、位时间为1.125ms或2.25ms; NEC码的位定义:一个脉冲对应560us的连续载波,一个逻辑1传输需要2.25ms(560us脉冲+1680us低电平),一个逻辑0的传输需要1.125ms(560us脉冲+560us低电平)。而遥控接收头在收到脉冲的时候为低电平,在没有脉冲的时候为高电平,这样,我们在接收头端收到的信号为:逻辑1应该是560us
[单片机]
关于STM32单片机移植FATFS
使用单片机的朋友都知道单片机一般提供的ROM和RAM都比较小。就算是STM32这样的提供256KB flash和64KB RAM的。一旦你需要存一些数据量比较大的文件的时候还是不够用的。一般可以通过外扩SD和nand flash来实现大容量存储。相对来说SD卡的使用更加方便一些。使用过nand flash的也许会知道nand flash有坏块,使用的时候需要做坏块管理,还有就是需要做损耗均衡。不然nand flash很容易就会坏掉。 下面说说SD卡。SD卡驱动有两种方式。一种是SPI驱动方式。还有一种是SDIO驱动方式。SPI驱动时只需要4更线:CLK、SD_CS、MISO、MOSI。SDIO则需要CLK、CMD、Data0、Da
[单片机]
STM32三线控制八个发光二极管(74HC595)
STM32三线控制八个发光二极管是典型的IO扩展应用,思路和学习51单片机时一致,下面直接上图和代码! 简述: 1.74HC595D这里使用的5V供电,和STM32间通过MOS管做电平转换处理; 2.74HC595D使用11、12、14脚 PIN11- SHCP shift register clock input 移位时钟 PIN12- STCP storage register clock input 锁存时钟 PIN14- SI serial data input 串行数据 代码: #include 74HC595D.h #include delay.h u8 CHx_LED;//指示灯控制字 111
[单片机]
STM32速成笔记(1)概述
1. 编程规范 对于新手来讲,编程规范以及代码架构也非常重要,有一个良好的编程规范和代码架构,可以提高开发效率,方便问题排查以及后续的程序维护。这里介绍的编程规范很简单,要求不严格。主要有以下几点 • 变量定义 变量定义时最好是能够体现该变量所属的外设模块,该变量是否为全局变量,静态变量或者指针变量。变量首字母小写,后面的单词首字母大写。举例如下 // 以ADC模块为例,需要定义一个存储AD值的变量,举例说明变量命名方式 // 局部变量 u32 adValue = 0; // 全局变量 u32 gAdcAdValue = 0; // 加一个g表示是全局变量 // 全局静态变量 stati
[单片机]