自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (7)
  • 收藏
  • 关注

原创 FLASH模拟EEPROM编程

单片机内存FLASH模拟EEPROM编程

2022-04-28 11:04:35 2404

原创 基于梯形加减速的步进电机控制

基于梯形加减速的步进电机控制##1.步进电机基础方程##如果要步进电机以恒定的速度旋转,我们就需固频率发送脉冲,我们通过控制器的定时功能来实现脉冲发送,如图1-1所示,t0为脉冲发送的起始时刻,t1为发送第二个脉冲的时刻,t2为发送第三个脉冲的时刻。t0与t1之间的时间隔(时间延时)为△t= c0 * Tt,其中c0为定时器在t0与t1这段时间的定时器计数值,Tt为定时器的计数周期。t1与t2之前的时间隔为△t= c1 * Tt,其中c1为定时器在t1与t2这段时间的计数值,Tt为定时器的计数周期。比

2021-03-04 16:14:14 833 1

原创 步进电动机入门笔记一

1,步进电动机的特征1.1,系统构成步进电动机运行系统以步进电动机,驱动器,控制器3要素构成。步进电动机上一级控制器向电动机发出指令,进行开环运行。运行系统(开环控制):运转系统构成的3要素:1控制器 2驱动器 3步进电动机。 控制器:输出控制步进电动机的运转量与运转速度的脉冲信号。驱动器:依据脉冲信号来控制电动机运转的驱动元件。脉冲信号:是一种方状的电气信号,主要用来控制电动机的运转量与运转速度。1.2,高精度定位

2021-03-04 15:37:35 340 1

原创 音频信号FFT变换后节拍检测的软件实现(STM32)

前言:在人耳能听到的频率范围(20-20KHz)中,故我们设置采样频率为44100Hz(根据采样定理,采样频率要大于信号最大频率的两倍,才能保证不失真)来采集这0-20KHz的音频信号。我们把采样点数设置为1024个点,那么在进行1024点FFT时,将得到44100Hz / 1024 = 43Hz的频率分辨率.采样频率:Fs = 44100Hz样本数量:NPT = 1024这两个参数是FFT计算时候要用到的编程整体思路:1.使用ADC采集音频信号2.使用官方提供的FFT函数对采集到的信号进行处

2020-05-13 15:24:54 2343

原创 基于单片机系统串口控制台的软件实现(RTOS-STM32)

基于单片机系统串口控制台的软件实现(RTOS-STM32)1.前言玩过Linux的朋友, 是不是对Linux无所不能的串口Shell命令控制台羡慕不已, 要是自己做的STM32F系列低档次的MCU也有这种控制交互能力, 会给调试/维护和配置省下多少麻烦事呀, 比如启动/关闭调试或自检模式, 打印调试信息, 配置系统参数, 传输文件等等, 也有相当多的朋友凭借自己出色的编程能力可以实现这些功能, 下面是我自写的一个控制台软件, 以作交流.本平台(console)具备以下性能特点:1) 移植性强,代码文

2020-05-13 13:44:07 924 2

原创 串口IAP升级软件实现

串口IAP软件在线升级一,IAP的原理IAP其实是将传统的程序分为了两个部分或者三部分,一个称为BootLoader区,另一个称为APP区域(用于存放用户升级的程序,还有一个就是APP备份区,如下所示: /******************* -------- 0x08000000 8k | boot | boot引导区域 -------- ...

2020-01-18 15:20:32 1525

原创 嵌入式RTOS软件新架构: 模式 + 状态机

嵌入式RTOS软件新架构: 模式 + 状态机:一,定义接口函数以及消息数据结构:#ifndef NULL #define NULL ( OS_NULL )#endif#define sys_ticks() OSGetTickCount()#define tick_timeout(x) ((int)(sys_ticks() - x) > 0)#define PE...

2020-01-18 11:35:39 1858

原创 位置式and增量式pid算法

/*增量式与位置式区别:1 增量式算法不需要做累加,控制量增量的确定仅与最近几次偏差采样值有关,计算误差对控制 量计算的影响较小。而位置式算法要用到过去偏差的累加值,容易产生较大的累加误差。2 增量式算法得出的是控制量的增量,例如在阀门控制中,只输出阀门开度的变化部分,误动作 影响小,必要时还可通过逻辑判断限制或禁止本次输出,不会严重影响系统的工作。而位置式的输出直接对应对象的输出,...

2020-01-18 08:58:44 1534

原创 全彩RGB呼吸灯效果实现-STM32

全彩RGB呼吸灯效果实现——PWM方式全彩LED 灯控制原理:使用STM32控制LED灯输出多种亮度等级,可以通过控制输出脉冲的占空比来实现,见图1.[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oDFPJ2Ny-1573807073244)(C:/Users/Administrator/Desktop/makedownfile/1.png)]图1 不同占空...

2019-11-15 16:39:12 12234 1

原创 软件定时器模块-STM32

/******************************************************************************* 文件名称:SoftTimer.h* 内容摘要:软件定时器模块头文件* 其他说明:首先运行TimersInit函数,需向该函数提供"1ms的系统时钟"和"最大系统ms数",* 然后在各自的应用模块中调用CreatT...

2019-11-15 16:31:38 563

原创 单片机串口环形缓冲队列处理架构

我们知道的串口收发都是:接收一个数据,触发中断,然后把数据发回来。这种处理方式是没有缓冲的,当数量太大的时候,亦或者当数据接收太快的时候,我们来不及处理已经收到的数据,那么,当再次收到数据的时候,就会将之前还未处理的数据覆盖掉。那么就会出现丢包的现象了,对我们的程序是一个致命的创伤;于是就自己写了个缓冲区,代价就是消耗一部分内存空间,时间-空间本来就是一对矛盾体,想减少串口通信中数据丢失问题只能牺...

2019-07-22 15:14:20 1169

原创 单片机系统——基于STM32

1,裸机系统之轮询系统 轮询系统即是在裸机编程的时候,先初始化好相关的硬件,然后让主程序在一个死循环里面不断循环,顺序地做各种事情;轮询系统是一种非常简单的软件结构,通常只适用于那些只需要顺序执行代码且不需要外部事件来驱动的就能完成的事情,实时性比较低。轮询系统代码实例如下:1 int main(void)2 {3 /* 硬件相关初始化 */4 HardWareIni...

2019-07-21 19:01:14 1301

原创 深入了解函数指针与指针函数

一,概念函数指针:指向函数的指针变量,本质上是一个指针变量,指向的是一个函数指针函数:顾名思义就是带有指针的函数,即其本质是一个函数,只不过这种函数返回的是一个对应类型的地址,即返回的是一个指针。二,定义函数指针: type (*func)(type , type ),如 void (*func)(void),定义一个指向void类型的指针变量。指针函数:type ...

2017-11-22 11:57:05 231

转载 PICKIT3脱机烧写指导书

一:      PICKIT3的联机烧写方法PICKIT3的联机烧写与ICD2一致,只是需要在MPLAB IDEV840或者更高版本下使用PICKIT3。烧写时,从MPLAB IDE的菜单“PROGRAMMER——PICKIT3”,选中PICKIT3即可。由于原装的PICKIT3能提供的烧写电流比较小,联机烧写时,建议目标板带电。二:       PICKIT3的脱机烧写步骤1

2017-11-21 11:39:09 7890

基于梯形加减速的步进电机控制算法源代码.zip

从事电机控制的人员,包含pulse.h,pulse.c文件,可自行下载进行修改

2021-03-04

音频信号FFT变换后节拍检测的软件.zip

1.使用ADC采集音频信号 2.使用官方提供的FFT函数对采集到的信号进行处理 3.量化显示 4,在人耳能听到的频率范围(20-20KHz)中,故我们设置采样频率为44100Hz(根据采样定理,采样频率要大于信号最大频率的两倍,才能保证不失真)来采集这0-20KHz的音频信号。我们把采样点数设置为1024个点,那么在进行1024点FFT时,将得到44100Hz / 1024 = 43Hz的频率分辨率

2020-05-13

基于单片机系统串口控制台的软件.zip

RTOS-STM32编写的控制台软件,包含console.h和console.c两个文件,移植方便,支持rtos和无os系统

2020-05-13

软件定时器源代码完全开源

软件定时器源代码,包含.c以及.h文件,方便移植,试用于各类单片机,在stm32中已验证ok,谢谢下载,如有其它问题,可以和我联系

2020-01-18

stm32f103_boot源代码+协议

支持串口IAP+hex boot升级,源代码包含.c和.h文件,方便移植,另外还有一份串口升级流程协议

2020-01-18

pid增量式和位置式算法源文件

pid增量式和位置式算法源文件,文章介绍了这两种的优缺点,也贴了一部分代码,完整代码需下载,支持移植

2020-01-18

单片机串口缓存处理架构.html

我们知道的串口收发都是:接收一个数据,触发中断,然后把数据发回来。这种处理方式是没有缓冲的,当数量太大的时候,亦或者当数据接收太快的时候,我们来不及处理已经收到的数据,那么,当再次收到数据的时候,就会将之前还未处理的数据覆盖掉。那么就会出现丢包的现象了,对我们的程序是一个致命的创伤;于是就自己写了个缓冲区,代价就是消耗一部分内存空间,时间-空间本来就是一对矛盾体,想减少串口通信中数据丢失问题只能牺牲部分空间,来减少数据通信过程中的丢失问题

2019-07-22

空空如也

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

TA关注的人

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