
Cortex_M4
文章平均质量分 83
STM32F407 STM32F429系列单片机的学习
又一个小垃圾
学习之后,如果不成体系或者不使用那么很快就会忘记自己所学的东西。这样自己的付出和身心的劳累与疲惫将没有任何的意义。还会打击自己的自信心,人生应该有正反馈,人生应该是积极快乐的。
展开
-
【无标题】
lvgl codeblocks原创 2024-03-18 11:40:10 · 544 阅读 · 0 评论 -
STM32内存学习笔记
STM32内存原创 2022-07-22 11:09:14 · 353 阅读 · 0 评论 -
FATFS
文件系统,可以说是操作系统中比较重要的一环!!!毕竟计算机都是由三块组成的:CPU + RAM + ROM那么:给CPU 的是 CPU时间管理(如进程 线程 时间片轮转这些名词都是属于CPU 的)给RAM 的是 内存管理 什么 申请内存 释放内存都是在这里那么留给ROM 的也就是文件管理了!!!/*************************************************************************************/常见的原创 2021-02-09 17:07:43 · 727 阅读 · 0 评论 -
STM32F407--第四十三章 SD卡实验
SD卡的分类关于SD卡的引脚:小卡是 8pin 。大卡是 9pin还有那种可以接在相机里面的存储卡SDHC 是 “High Capacity SD Memory Card” 的缩写。即是 “高容量SD存储卡”SDHC V2.0 是指SD卡大于 2G 并且小于 32G 的内存卡。关于速度的标记:Class 2 : 最低是2M/sClass 4 :最低是4M/sClass 6 :最低是6M/sSD卡接口硬件连接设计软件设计...原创 2021-02-05 14:48:41 · 2262 阅读 · 0 评论 -
STM32F429_固件库_FMC
FMC 固件库函数结构体讲解1. NOR/SRAM 时序结构体typedef struct{ uint32_t FMC_AddressSetupTime; /*地址建立时间, 0-0xF 个 HCLK 周期*/ uint32_t FMC_AddressHoldTime; /*地址保持时间, 0-0xF 个 HCLK 周期*/ uint32_t FMC_DataSetupTime; /*数据建立时间, 0-0xF 个 HCLK 周期*/ uint原创 2021-01-27 11:21:04 · 921 阅读 · 0 评论 -
STM32F407--库函数-- stm32f4xx_tim.c
关于定时器配置的一些常见的函数从 stm32f4xx_tim.h 文件进行分析:stm32f4xx_tim.c 一共是3365行stm32f4xx_tim.h 一共是1150行1 typedef struct {2 uint16_t TIM_Prescaler; // 预分频器3 uint16_t TIM_CounterMode; // 计数模式4 uint32_t TIM_Period; // 定时器周期5 uint16_t TIM_ClockDivision;原创 2020-11-26 21:16:12 · 1746 阅读 · 0 评论 -
STM32F407--通用定时器
通用定时器通用定时器溢出中断通用定时器 反转输出定时器配置文件// TIM4_ch1_PD12 定时器4_通道1// 映射 在引脚 PD12 上面void Tim4_ch1_PD12_AF(){ GPIO_InitTypeDef GPIO_InitStructure; //基本引脚结构体 RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD,ENABLE); //引脚时钟结构体初始化 GPIO_InitSt原创 2020-11-26 20:25:05 · 3355 阅读 · 0 评论 -
STM32F407--通用定时器反转输出配置
目前,各个平台都没有反转输出的配置!!!准备搞起来!!!必须的!!原创 2020-11-26 17:02:16 · 488 阅读 · 0 评论 -
STM32F407--定时器输出PWM
主函数int main(void){ u16 led0pwmval=0; u8 dir=1; NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级分组2 delay_init(168); //初始化延时函数 uart_init(115200);//初始化串口波特率为115200 TIM14_PWM_Init(500-1,84-1); //84M/84=1Mhz的计数频率,重装载值500,所以PWM频率为 1M/50原创 2020-11-26 16:18:12 · 5193 阅读 · 0 评论 -
STM32F407--通用定时器溢出中断实验
主函数:int main(void){ NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级分组2 delay_init(168); //初始化延时函数 LED_Init(); //初始化LED端口 TIM3_Int_Init(5000-1,8400-1); //定时器时钟84M,分频系数8400,所以84M/8400=10Khz的计数频率,计数5000次为500ms while(1) { LED0=转载 2020-11-26 16:15:44 · 2397 阅读 · 0 评论 -
STM32F407--时钟管理
第16章 RCC—使用 HSE/HSI 配置时钟本章参考资料:《STM32F4xx 中文参考手册》 RCC 章节。学习本章时,配合《STM32F4xx 中文参考手册》 RCC 章节一起阅读,效果会更佳,特别是涉及到寄存器说明的部分。RCC : reset clock control 复位和时钟控制器。本章我们主要讲解时钟部分,特别是要着重理解时钟树,理解了时钟树, F407 的一切时钟的来龙去脉都会了如指掌。16.1 RCC 主要作用—时钟部分设置系统时钟 SYSCLK、设置 AHB 分频因原创 2020-11-23 18:46:53 · 773 阅读 · 0 评论 -
STM32F407--寄存器映射
什么是寄存器在学习 STM32 编程时,通常有两种编程方式,一种是寄存器编程,另外一种是固件库编程,其中寄存器编程是基础,而固件库编程是在寄存器编程的基础上升级而来的一种易于学习和开发的编程方式,是我们学习 STM32 编程的时候需要重点掌握的一种编程方法。固件库编程对于项目开发固然简单和快速,但是从学习的角度开发,学习寄存器编程的方法我们也不能丢。其实,我们在学习 8 位或者 16 位单片机的时候,居多都是采用寄存器编程,那么这个寄存器编程里面的寄存器是什么东西?它在芯片的什么地方?在探索 S原创 2020-11-23 18:44:50 · 1087 阅读 · 0 评论 -
STM32--debug调试
编译一下工程。然后点击:(开始/停止仿真按钮),开始仿真(如果开发板的代码没被更新过,则会先更新代码(即下载代码),再仿真,你也可以通过按 ,只下载代码,而不进入仿真。特别注意:开发板上的 B0和 B1 都要设置到 GND,否则代码下载后不会自动运行的!),如图 4.2.5 所示:因为我们之前勾选了 Run to main()选项,所以,程序直接就运行到了 main 函数的入口处。另外,此时 MDK 多出了一个工具条, 这就是 Debug 工具条,这个工具条在我们仿真的时候是非常有用的,下面简原创 2020-11-23 14:58:07 · 6234 阅读 · 0 评论 -
STM32--固件库
1.固件库的官方下载2.固件库的结构core_cm4.h 文件是 CMSIS 核心文件,提供进入 M4 内核接口,这是 ARM 公司提供,对所有CM4 内核的芯片都一样。你永远都不需要修改这个文件,所以这里我们就点到为止。system_stm32f4xx.h 是片上外设接入层系统头文件。主要是申明设置系统及总线时钟相关的函数。与其对应的源文件 system_stm32f4xx.c 这个里面有一个非常重要的 SystemInit()函数申明,这个函数在我们系统启动的时候都会调用,用来设置系统的整个系统原创 2020-11-23 14:45:21 · 1927 阅读 · 0 评论 -
STM32 -- NVIC中断优先级管理
STM32F40xx/STM32F41xx 的 92 个中断里面, 包括 10 个内核中断和 82 个可屏蔽中断,具有 16 级可编程的中断优先级, 而我们常用的就是这 82 个可屏蔽中断。在 MDK 内,与 NVIC相关的寄存器, MDK 为其定义了如下的结构体:typedef struct{__IO uint32_t ISER[8]; /*!< Interrupt Set Enable Register */uint32_t RESERVED0[24];__IO uint32_原创 2020-11-23 14:03:38 · 675 阅读 · 1 评论 -
STM32--外部中断
关于中断: STM32F4支持22个外部中断, 每个io都可以进行外部中断。EXTI(中断)线 0~15 。 对应的是外部的IO设备, 每个io口都可以进行中断,那么。。。不够用啊??人家是这样设计的:GPIOx0~GPIOx15 对应 exti 0~15.这样!!! 使用库函数配置外部中断的步骤: 1. 使能 IO口时钟,初始化 IO 口为输入 2. 开启 SYSCFG 时钟,设置 IO 口与中断线的映射关系。 RCC_APB2PeriphClockCmd(RCC原创 2020-11-20 14:01:43 · 292 阅读 · 0 评论 -
STM32--串口
void USART1_Configuration(void){GPIO_InitTypeDef GPIO_InitStructure;USART_InitTypeDef USART_InitStructure;NVIC_InitTypeDef NVIC_InitStructure;RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB,ENABLE); //使能GPIOA时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1原创 2020-11-12 14:51:56 · 243 阅读 · 0 评论 -
STM32--框架结构
关于STM32时钟系统的学习。首先了解一下STM32的结构和时钟总线。/*******************************/////时钟树/*****************************/在分析时钟树的时候,需要结合代码进行分析。具体的关于时钟的代码在:"system_stm32f4xx.c"中。其中有这样的一段描述: Supported STM32F40xxx devices *--------------------------原创 2020-11-09 18:27:07 · 1422 阅读 · 0 评论 -
STM32--高级定时器
typedef struct{ uint16_t TIM_OCMode; /*!< Specifies the TIM mode. This parameter can be a value of @ref TIM_Output_Compare_and_PWM_modes */ uint16_t TIM_OutputState; /*!< Specifies the TIM Output Com.原创 2020-11-09 18:22:07 · 923 阅读 · 0 评论 -
STM32F407_高级定时器_TIM1_TIM8
这里写目录标题0. 声明1.定时器时钟树2.定时器中结构体分析2.1TIM时基初始化结构定义2.2TIM输出比较初始化结构定义2.3TIM输入捕获初始化结构定义2.4BDTR结构定义3.定时器溢出中断4.定时器PWM输出分析5.定时器比较输出分析0. 声明需要先学习的基础内容: 1.请在时钟树的基础上进行定时器的学习,不然会知其然不知其所以然。 2.GPIO配置基础 3.NVIC中断优先级配置基础 4.串口通信基础(可有可无,主要用于查看调试信息) 5.可以先进行基本定时器和通用定时器的原创 2020-09-24 16:08:03 · 4786 阅读 · 1 评论 -
STM32--感悟
今天的感悟,从来不觉得做事情,是容易的。因为事情本来就不应该是简单的,,一件事情,自己需要付出心血和艰辛的努力。不是简简单单就能狗获得的要学会长久的努力钻研一件事情,并且自己可以坚持的坐下去,并且做好。我想 我应该是可以安静的精通一下单片机的,毕竟自己目前所在的公司,我是想好好的干下去。就这样。希望自己可以安静一点。我是于工作之中,又开始使用STM32,回头重新学习。今天看见别人的代码是 黑色的看着很酷,,,嘿嘿。。。查一下,,,...原创 2020-09-21 19:04:41 · 225 阅读 · 0 评论