推荐阅读最新更新时间:2024-03-16 16:04
STM32F4时钟使能和配置
在 STM32F4 标准固件库里,时钟源的选择以及时钟使能等函数都是在RCC相关固件库文件stm32f4xx_rcc.h 和 stm32f4xx_rcc.c 中声明和定义的。大家打开 stm32f4xx_rcc.h 文件可以看到文件开头有很多宏定义标识符,然后是一系列时钟配置和时钟使能函数申明。这些函数大致可以归结为三类,一类是外设时钟使能函数,一类是时钟源和分频因子配置函数,还有一类是外设复位函数。当然还有几个获取时钟源配置的函数。下面我们以几种常见的操作来简要介绍一下这些库函数的使用。 首先是时钟使能函数。时钟使能相关函数包括外设设置使能和时钟源使能两类。首先我们来看看外设时钟使能相关的函数: void RCC_AHB1Pe
[单片机]
基于STM32F429的SDRAM使用
使用ST的HAL库进行开发,SDRAM使用的是W9825G6KH-6。 W9825G6KH-6共有4个Bank,13位行地址,9位列地址,位宽是16位, 所以芯片的容量是:4x8192x512x16=256Mbits=32MBytes。 W9825G6KH-6的原理图如下: FMC_D0~15:16位数据线; FMC_A0~12:13位地址线,行地址与列地址是公用的,作为行地址时使用了0~12位,作为列地址时使用了0~8位; FMC_SDNWE:低电平时写,高电平时读; FMC_SDNCAS:列地址选通信号,低电平有效; FMC_SDNRAS:行地址选通信号,低电平有效; FMC_SDNE0:片选信号,低电平有效; FMC
[单片机]
STM32F429 >> 14. TIM_(二)_高级定时器 (Code)
基本定时器输出PWM 信号 在该例程中,我将PWM 信号输出管脚连接至LED 管脚,以此观察PWM 信号输出是否正常。 注意:若要对LED 管脚进行初始化配置,对应LED 不能设置为熄灭,否则PWM 信号不能点亮LED bsp_tim_advanced.h /** ****************************************************************************** * @file bsp_tim_advanced.h * @author Waao * @version V1.0.0 * @date 30-Jan-2019 * @brief Thi
[单片机]
stm32f407之数字滤波(操作寄存器)
数字滤波 为了对stm32f4的ADC和DAC有更多的了解,我决定做一个实用性比较强的实验。就是数字滤波实验,利用stm32f4的DAC可以产生噪声的特点,利用它的一路DAC产生叠加噪声的信号作为原始信号。然后用ADC测量,把结果经过滤波处理后用DAC的另一通道把结果输出,用双踪示波器观察。 一阶惯性滤波器及其数字化 一阶惯性滤波器的传递函数为: 利用一阶差分法离散化,可以得到一阶惯性数字滤波算法: 其中T为采样周期,为滤波时间常数。T和必须根据信号频谱来选择。 编程实现: a. 设定一个1024点正弦波表,用DAC1叠加噪声输出 b. 配置定时器6更新频率为1M c. DAC
[单片机]
STM32F407+LWIP
1. 关于使用外设库和芯片选择 需定义USE_STDPERIPH_DRIVER和STM32F40_41xxx 具体在stm32f4xx.h定义或者Target Options里配置 2. 关于时钟配置 本工程外部晶振使用8M 因此需要修改外部晶振以及PLL相关的宏定义 stm32f4xx.h里配置 #define HSE_VALUE ((uint32_t)8000000) system_stm32f4xx.c里配置 #define PLL_M 8 3. 移植lwip,无RTOS 第一步, ETH_MAC_DMA的初始化,PHY芯片的初始化,这里在工程f407_eth里测试 第二步, 添加lwip文件 src里是lw
[单片机]
STM32F4时钟设置分析
环境: 主机:WIN7 开发环境:MDK4.72 MCU:STM32F407VGT6 STM32F4启动与STM32F10X不同,时钟已经默认配置好. 1.启动代码: 文件:startup_stm32f4xx.s span style= font-family:KaiTi_GB2312;font-size:18px; ; Reset handler Reset_Handler PROC EXPORT Reset_Handler IMPORT SystemInit IMPORT __main LDR R0, =SystemIn
[单片机]
结合STM32F4关于CAN基本的信息描述
CAN,Controller Area Network(控制器局域网络),在汽车电子、工业控制领域的应用比较多,通常用于局域组网。 CAN总线和UART、I2C、SPI总线最大的区别主要在于取消了传统的地址编码方式,理论上讲总线上的互联节点数不受限制,拥有强大的握手与出错管理及重发机制,具有很强的抗干扰能力。 1 STM32 CAN 基础内容CAN网络中主要由CAN控制器和CAN收发器组成,大部分STM32内部都集成了CAN控制器,如果需要使用CAN功能,还需要在外部连接一个CAN收发器才能使用。 ▲ CAN 网络拓扑结构图 STM32内部集成的CAN控制器,支持 2.0A 和 B 版本的 CAN 协议。还有通信速度更
[单片机]
STM32F4三路ADC同时采集
注意三路ADC配置为DMA传输的时候,需要修改ADC1-ADC3的地址: #define ADC1_DR_Addr ((uint32_t)0x4001204C) #define ADC2_DR_Addr ((uint32_t)0x4001214C) #define ADC3_DR_Addr ((uint32_t)0x4001224C) 必须按照以上的地址定义,否则独处的数据全部为0。
[单片机]