自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (1)
  • 收藏
  • 关注

原创 STM32CUBEMX之高级定时器应用-PWM输入捕获时间

目录一.配置RCC二.配置时钟三.配置滴答计时器四.配置定时器2配置串口五.main.c六.头文件七. 修改滴答定时器回调函数八.演示实验材料:STM32F407IGT6,STM32CUBEMX,keil5一.配置RCC二.配置时钟三.配置滴答计时器四.配置定时器2下面是设计原理,如下:注意图中红色标记的地方。这样设置之后,IC1,IC2可以对同一信号进行捕获,IC1在上升沿捕获,每次上升沿触发中断,读取对应捕获寄存器的数据就可以计算频率,读取IC2的捕获寄存器可以计算占空比。

2020-12-30 16:36:15 1605

原创 STM32CUBEMX之高级定时器应用-输入捕获频率

目录配置系统时钟配置RCC配置滴答计时器配置定时器2配置串口配置IO程序main.c加入宏定义修改滴答定时器回调函数实验材料:STM32F407IGT6配置系统时钟配置RCC配置滴答计时器作用:生成125hz的高电平。配置定时器2设置CH1为输入捕获作用:捕获滴答计时器中断产生的IO高电平频率配置串口配置IOPI5:用于输出高低电平,其他用于提示程序main.c/* USER CODE BEGIN Header *//** ********************

2020-12-30 10:08:42 2415

原创 STM32CUBEMX之高级定时器应用-计时功能

目录一、计时功能设置系统时钟定时器1配置程序编写开发环境STM32F407一、计时功能设置系统时钟APB2=84MTIM1的时钟频率=2*APB2=168M定时器1配置TIM中断频率:168M/168=1000hz=1ms1ms*500=500ms所有TIM1:500ms中断一次。程序编写#include "stm32f4xx_hal.h"#include "led/bsp_led.h"#include "AdvancedTIM/bsp_AdvancedTIM.h"

2020-12-28 11:32:10 1996

原创 C语言内存管理

这里写目录标题1.内存4区1.2 使用代码证实内存四区的底层结构二、malloc 和 free2.1 malloc 和 free 的使用2.2 内存泄漏与安全使用实例与讲解1.内存4区在程序 A 开辟的内存区域 1 会被分为几个区域,这就是内存四区,内存四区分为栈区、堆区、数据区与代码区栈区指的是存储一些临时变量的区域,临时变量包括了局部变量、返回值、参数、返回地址等,当这些变量超出了当前作用域时将会自动弹出。该栈的最大存储是有大小的,该值固定,超过该大小将会造成栈溢出。堆区指的是一个比较大的内存

2020-11-07 11:49:41 161

原创 STM32CUBEMX创建FREERTOS之信号量

目录信号量的作用信号量的分类信号量创建获取释放信号量头文件semphr.h1创建信号量2获取信号量3释放信号量信号量的作用信号量常常用于控制对共享资源的访问和任务同步。注:信号量被获取没有释放,那其他任务就无法获取了!递归互斥除外!信号量的分类信号量作用计数信号量判断是信号量是否为空,就是获取和释放是不是相等二值信号量二值信号量其实就是一个只有一个队列项的队列互斥信号量互斥信号量有优先级继承的机制,所以只能用在任务中,不能用于中断服务函数递归互斥信号量

2020-11-06 11:42:28 1068

原创 SourceTree .gitignore文件更新

1. 打开代码所在文件2. 依次输入1.git rm -r --cached . //删除所有缓存2.git add . //重新添加所有文件3.git commit -m 'ignore something' //提交注意有.

2020-11-04 16:14:31 232

原创 STM32CUBEMX创建FREERTOS之队列

目录1. 创建队列1.1 动态创建入队函数1. 创建队列1.1 动态创建QueueHandle_t xQueueCreate(UBaseType_t uxQueueLength,UBaseType_t uxItemSize)示例QueueHandle_t Message_Queue; //句柄#define Message_Q_NUM 4 //队列长度#define USART_REC_LEN 50 //定义最大接收字节数 50Message_Queue = xQ

2020-11-04 15:20:07 2651

原创 把多位数每一位都取出来

C语言中x=a%10;表示什么意思?(1)x=a%10;把a对10求余赋值给x,其实就是得到a的个位赋值给x。 i=121; x=i%10;//把个位取出来 y=i/10%10;//把十位取出来 z=i/100%10;//把百位取出来 ...

2020-11-02 11:15:45 493

原创 osDelay,vTaskDelay和HAL_Delay区别

目录1. osDelay();MS2. vTaskDelay();ms3. HAL_Delay();ms4. 对比1. osDelay();MS/*********************** Generic Wait Functions *******************************//*** @brief Wait for Timeout (Time Delay)* @param millisec time delay value* @retval sta

2020-10-29 11:36:15 8913 3

原创 增量PID算法

增量式PID: △u(k)=Kp * e(k-1)+Ki *e(k) +Kd *(e(k)-2e(k-1)+e(k-2))+u(k-1);△u(k):实际输出量的变化量u(k-1):上次的输出量Kp : 比例系数Ki : 积分系数Kd :微分系数e(k-1):上一次的目标和实际的误差值e(k) :这次的目标和实际的误差值e(k-2):上上次目标和实际的误差值增量式PID:u(k)=Kp * e(k-1)+Ki *e(t) +Kd *(e(k)-2e(k-1)+e(k-2));typed

2020-10-27 16:09:57 28447 7

原创 局部变量和全局变量(静态和非静态)区别

局部变量和全局变量全局变量和全局静态变量的区别静态全局变量有以下特点:静态局部变量有以下特点:全局变量和全局静态变量的区别(1)全局变量是不显式用 static 修饰的全局变量,全局变量默认是有外部链接性的,作用域是整个工程,在一个文件内定义的全局变量,在另一个文件中,通过 extern 全局变量名的声明,就可以使用全局变量。(2)全局静态变量是显式用 static 修饰的全局变量,作用域是声明此变量所在的文件,其他的文件即使用 extern 声明也不能使用。静态全局变量有以下特点:(1)静态变量

2020-10-27 09:08:25 1616

原创 STM32cubeMX--STM32F427--dp83848---freeRTOS--LWIP点灯实验

资源环境STM32F427–dp83848—STM32cubeMX–freeRTOS–LWIP具体步骤一STM32系统配置二内外时钟配置开启外部高速和低速时钟三ETH设置配置ETH,由于我的板子是DP83848芯片使能一下我把PB12,13映射到了PG13,14,这是由于开发板决定的你要根据自己看看原理图四FREERTOS设置直接启动就行无需配置五LWIP设置配置一下IPV4需要和自己本地IP的配置相对应六系统时钟配置我这里的外部高速是25M,低速时32.768

2020-10-11 09:07:45 1483 3

STM32cubeMX--STM32F427--dp83848---freeRTOS--LWIP点灯实验

STM32cubeMX--STM32F427--dp83848---freeRTOS--LWIP点灯实验例程

2020-10-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除