自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(131)
  • 收藏
  • 关注

原创 1.5 Cubmx_STM32 CAN通讯,多包数据收发送的处理

一、遇到的问题1、发送单包数据,我想都非常简答,例子一大堆包括,demo。但是发送多包数据怎么处理?2、发送多包数据,网上基本上就两种说发*两个数据之间加延时*查询邮箱是否满了HAL_CAN_GetTxMailboxesFreeLevel()对比上面两种方法,为了效率我们选择第二种二、配置与代码直接上cubemx配置直接生成后,cubemx没有设置过滤器,需要自己添加,结合网上各资料总结代码如下int main(void){ /* USER CODE BEGIN 1 */

2020-10-15 09:26:33 2660 1

原创 2.6 STM32_多定时器复用一个硬件定时器

当定时器不够用或者不想浪费资源时。我们可以利用定时器复用功能。使用一个硬件定时器就可以实现多个时间的定时。类似于软件定时器。优点:可以多个定时器复用要给硬件,节约资源缺点:它是在某个任务或者mian中一直循环查询。优先级没有定时器中断优先级高/* * Copyright (c) 2016 Zibin Zheng <[email protected]> * All rights reserved */#include "multi_timer.h"#include "tim.h"//ti

2020-07-06 16:59:09 1102

原创 1.2 Cubemx_STM32空闲中断,非DMA收发

从前面文章知道,我用过DMA收发,但有时候需要用非DMA方式,我发现如果使用DMA方式发送的话,代码一下子多起来好的。我就是这个原因才用非DMA方式的。人狠话不多,直接上图,上代码:cubemx,配置如下,全局中断打开,其他波特率什么的可自行配置,略过:直接生成后初始化添加的代码,开启中断:void usart1_Init(){ HAL_UART_Receive_IT(&huart1, rx_EPOS_Buff, EPOS_RX_FRAME_LEN); __HAL_UART_ENAB

2020-05-29 16:08:32 541

原创 2.2 STM32 RAM溢出分析(KEIL在Build的时候提示Error:L6406E:No space in execution)

先请问大家一个问题:keil5编译后生成 Program Size: Code RO-data RW-data ZI-data是什么?要想知道RAM溢出分析,对内存需要比较了解。实际上:RAM_SIZE=RW-data+ ZI-dataZI-data: 已定义未初始化或者初始化为0的变量大小RW-data:已经初始化的变量大小这个RAM_SIZE就是STM32中的RAM内存空间。个...

2020-02-25 17:16:28 4715

原创 2.14 STM32 串口传输最佳处理方式 FreeRTOS+队列+DMA+IDLE (二)

紧接着上一篇文章,如何合理处理多个串口接收大量数据。此种方法,很厉害,很NB可节省大量CUP资源。并且FreeRTOS任务处理的非常合理。中心思想:1、开启DMA 环形接收数据模式。2、触发接收数据中断。3、把数据长度、地址 入队。4、再开辟一个函数专门处理数据的出队函数。

2019-09-06 16:13:07 6220 7

原创 2.13 STM32 串口传输最佳处理方式 FreeRTOS+队列+DMA+IDLE (一)

如何处理串口通信大数据,FreeRTOS+DMA+空闲中断

2019-09-06 11:18:39 8121 2

原创 ESP8266 hspi的调试

这一两个礼拜基本上都在爬这个坑,功夫不负有心人。终于搞定了,其实非常简单。以为这个东西有多么的复杂,其实不是这样的。被一些网上博主给误导了!8266端我用的是:ESP8266_NONOS_SDK-3.0\examples\peripheral_test\user\spi_test8266做从机 单片机做主机可以成功的往8266寄存器 SPI_W0----SPI_W7写入数据可以成功的读8...

2019-06-20 16:18:11 2870 11

原创 6_6_SQL

EXISTS谓词用于测试子查询的结果是否为空表,若子查询的结果集不为空,则EXISTS返回TRUE,否则返回FALSE。再执行外查询,若students表中某行的stuentid 列值等于子查询结果表中的任意一个值,则该行就被选择到最终结果表中。●expression_list:需要插入的字段值表达式列表,其个数应与记录的字段个数一致,若指定要插入值的字段felds list,则应与fields list的字段个数相一致。这种子查询可以认为是IN子查询的扩展,它是表达式的值与子查询的结果进行比较运算。

2024-04-07 13:33:43 817 1

原创 7、Qt5开发及实列(笔记)

【代码】7、Qt5开发及实列(笔记)

2024-02-06 10:21:03 644

原创 5.6 误差相关统计与计算

Min-Max归一化不改变数据的分布。其缺点为,过度依赖最大最小数,且容易受到离群点、异常数据的影响。标准差,又称均方差,是离均差平方的算术平均数的平方根,用σ表示。CV:在概率论和统计学中,变异系数,又称“离散系数”(英文:coefficient of variation),是概率分布离散程度的一个归一化量度,其定义为标准差 σ。方差,不仅仅表达了样本偏离均值的程度,更是揭示了样本内部彼此波动的程度,也可以理解为方差代表了样本彼此波动的期望。2、X轴为研发样机归一化数据,Y轴为标准机测试数据,画线即可。

2024-01-25 14:38:22 514

原创 2.19 keil里面工具EventCorder使用方法

使用时,调用初始化函数InitEventRecorder()即可。

2023-11-24 16:02:19 1063

原创 1.33 定时器总结篇

auto-reload prelod:其表示如果中途修改了ARR的值,是本次比较的时候就生效呢,还是在下一个比较周期的时候再生效。为0,则代表本周期就生效,即没有buffer。从上面的描述中的"buffer"字眼,可以知道ARR的值是有一个影子寄存器的!如上图所示,定时器主要有几个部分组成:最上层的时钟部分,中间的时间计数部分,左下的输入捕获部分和右下的输出比较部分。其中时钟的来源很多,内部时钟是用的最多的,内部时钟一般是来自于APB总线的时钟;定时器本身有一个预分频器PSC,是需要设置的重要参数之一。

2023-10-19 10:46:30 143

原创 5.4双积分ADC工作原理

设,V0 为电容上的初始电压值;V1 为电容最终可充到或放到的电压值;Vt 为t时刻电容上的电压值。exp函数即指数函数:e的n次方的函数,自然常数e=2.718281828459045。以2为底,求2的多少次方为4,即2的2次方为4。以2为底,求2的多少次方为8,即2的2次方为8。:以10为底数的对数,对数是对求幂的逆运算。:以2为底数的对数,对数是对求幂的逆运算。以2为底,求2的多少次方为n。#log默认以e为底。

2023-09-15 10:53:09 257

原创 4.5 指针与数组的转换

rel_addr1 相邻之间相差sizeof(save_pakage_t)rel_addr2 相邻之间相差sizeof(pakage_t)从上可以看出,地址转换到数据,数组加一,地址加整个结构体长度。

2023-09-13 12:24:55 211

原创 5.4 常用滤波算法

【代码】5.4 常用滤波算法。

2023-08-17 17:00:36 345

原创 project_serial_port

【代码】project_serial_port。

2023-08-11 14:19:23 90

原创 4-5-tablewidget

【代码】4-5-tablewidget。

2023-08-11 13:38:40 132

原创 excel相关操作

选择数据,数据–>分列–> 智能分列。选择横坐标,选中纵坐标。

2023-06-28 10:40:44 1079

原创 5.2 一阶低通滤波

一阶滤波算法是比较常用的滤波算法:其中,X为输入值,Y为滤波后得输出值,a为0~1之间的滤波系数。一阶滤波相当于是将新的采样值与上次的滤波结果计算一个加权平均值。a的取值决定了算法的灵敏度,a越大,新采集的值占的权重越大,算法越灵敏,但平顺性差;相反,a越小,新采集的值占的权重越小,灵敏度差,但平顺性好。

2023-05-23 16:24:08 263

原创 2.18 使用keil自带软件调试IO

ODR 是一个端口输出数据寄存器也只用了低 16 位。该寄存器为可 读写,从该寄存器读出来的数据可以用于判断当前 IO 口的输出状态。而向该寄存器写数据,则可以控制某个 IO 口的输出电平。该寄存器的各位描述如下图所示:使用如下:如上图所示,勾选即可控制LED灯,PD3 PD4、 PD5。

2023-05-10 15:20:22 990

原创 1.21 Cubemx_STM32F4 —IAP升级3(从FLASH中启动)代码举例:

实现的功能:芯片STM32F446ZETX,从SD卡读取升级文件,然后写入到flash,启动芯片。boot起始地址:0X08000000 /flash起始地址app地址:0x08020000。

2023-04-18 09:27:49 188

原创 4.5 md5计算 C语言

使用时,直接调用MDString函数即可。

2023-04-14 16:27:16 83

原创 4.4 指针地址打印

【代码】4.4 指针地址打印。

2023-04-14 13:44:46 1063

转载 5.1 移动平均滤波器

加权移动平均滤波器是对移动平均滤波器的改进。采用加权移动平均,既可以做到按数据点的顺序逐点推移,逐段平均,使不规则的数据点形成比较平滑的排列规则,又可以通过权数的设定使离当前值距离不同的数据,所起的作用不同。

2023-02-09 13:25:05 502

原创 2.11 PID控制算法(四)补充

【代码】2.11 PID控制算法(四)补充。

2023-02-04 11:04:08 695

原创 1.7 Cubemx STM32F429_RTX FATFS 库函数讲解(三)

if(finfo.fattrib == AM_ARC),意思是只对存档文件进行处理;<ByteToRead,即本次读取到的字节小于准备读取的字节,说明读指针已到达。例程:此处参考酷学玩例程,以读取的方式打开文件,然后将文件内容通过串口输出。a) *FileObject : 指向文件对象结构体的指针。b) *Buffer : 指向存储读取到的数据的缓冲的指针。c) ByteToRead : 准备读取的字节数。ByteRead 值等于本次读取到的字节数,若。1. 这个函数可以读取文件的内容。

2023-02-01 16:59:54 687

原创 2.17 STM32 SysTick—系统定时器

SysTick—系统定时器是属于 CM4 内核中的一个外设,内嵌在 NVIC 中。系统定时器是一个 24bit 的向下递减的计数器,计数器每计数一次的时间为 1/SYSCLK,一般我们设置系统时钟 SYSCLK 等于 180M。当重装载数值寄存器的值递减到 0 的时候,系统定时器就产生一次中断,以此循环往复。因为 SysTick 是属于 CM4 内核的外设,所以所有基于 CM4 内核的单片机都具有这个系统定时器,使得软件在 CM4 单片机中可以很容易的移植。

2023-01-10 10:33:11 669

原创 2.16 SPI协议的4种模式

四线控制SDO - 主设备数据输出,从设备输入 对应MOSISDI - 主设备数据输入,从设备输出 对应MISOSCLK - 时钟信号,由主设备产生CS - 从设备使能信号,由主设备控制。

2022-12-30 13:53:36 1379

原创 5.3 常见的电感式和电容式感测原理及应用

就线圈的形状而言,因为圆形线圈可为给定尺寸的电感器提供更高的 Q 系数,所以建议使用圆形线圈。电容式液位感测允许采用非接触式液位感测,与容易生锈的机械式液位感测器相比,它能够提供更可靠的解决方。与传统的机械式按钮相比,非接触式电感式按钮由于按钮表面的磨损更少而具有更长的储存寿命。常见应用包括:电器(洗衣机、烘干机、冰箱、炉灶)上的旋钮、风扇转速计数,以及工业应用中的轮齿计数。基于电感的技术是金属检测的。常见应用包括:汽车信息娱乐按钮,工业设备和 POS 终端上的按钮,以及智能手表和扬声器上的按钮。

2022-12-21 09:47:02 2563

原创 1.32 Cubemx_STM32F429串口中断+空闲中断

有时候串口接收数据时,没有帧头与帧尾,单纯使用单字节中断接收数据,不太好断帧。如果单纯使用空闲中断接收数据,当帧内数据不连续或者黏包,使用空闲中断接收就会出现接收的数据小于或者大于帧长度,比较难断帧。解决办法发送命令,等待返回数据,利用单字节中断将接收的数据压入缓存堆栈,当发生空闲中断后,判断缓存里的数据是否达到帧长度,如果是,解析数据,清空缓存;否则继续接收数据,知道达到帧长度,然后解析数据,清空缓存。发送命令,等待返回数据,如果产生空闲中断,数据压入缓存堆栈,判断是数据长度是否完成,如果是,解析数据,清

2022-12-05 10:44:44 1261

原创 A板----------------

【代码】A板----------------

2022-10-10 17:03:47 146

原创 1、Canopen 轻松入门

CAN 标准帧格式 即 11bit 的 ID 域,以尽量减小传输时间;5.1 所示,为对象字典索引区域定义,其中标绿色底纹的通讯对象子协议区和制造商特定子协议区是用户需要关注的区域。

2022-09-27 18:58:45 19936 6

原创 2、Cubemx_canfestival对象字典生成工具环境搭建

其中canfestival.h文件是函数接口定义(声明),函数内容需要自己实现(位于:app\canopen目录下canopen_drv.c);Canopen_drv.c和canopen.h自己建立,DPCRMaster.c DPCRMaster.h来自刚才建立的对象字典。之后会得到1个对象字典文件(*od,相当于一个工程文件,方便下次再此基础上编辑),1个c文件,1个h文件。CANOpen\src目录下12个.c源文件,来自Canfestival->src目录下的12个源文件;

2022-09-16 14:34:42 830

原创 2.15 keil使用电脑端时间日期

keil时间调用

2022-08-03 16:02:52 723

原创 1.31 升级bin文件添加后缀及文件长度

升级添加长度及后缀

2022-07-22 11:05:33 523

原创 5.3 温度校准曲线计算

温度校准表通过外部命令比如串口等传输进来,校准表是偏差温度:Modify_55Degree_Bom=标准温度-测试的实际温度。那么求65℃的实际温度?

2022-05-06 13:56:49 706 1

原创 base64编码

文章目录1、Base64编码介绍1.1Base64编码由来1.2 Base64编码原理1.3 总结2、base64 C语言代码1、Base64编码介绍Base64编码是从二进制到字符的过程.Base64编码主要用在传输、存储、表示二进制等领域,还可以用来加密,但是这种加密比较简单.byte[] byteArray = Encoding.UTF8.GetBytes(content);content = Convert.ToBase64String(byteArray);开发者对 Base64编码肯

2022-04-20 14:19:29 1965

原创 嵌入式中级考试笔记

1、ISO 7层2、A类、B类、C类IP地址根据网络号和主机号来分,分为A、B、C三类及特殊地址D、E。 全0和全1的都保留不用。A类:(1.0.0.0-126.0.0.0)(默认子网掩码:255.0.0.0或 0xFF000000)第一个字节为网络号,后三个字节为主机号。该类IP地址的最前面为“0”,所以地址的网络号取值于1~126之间。一般用于大型网络。00000001-01111110(1-126)B类:(128.0.0.0-191.255.0.0)(默认子网掩码:255.255.

2022-03-09 16:35:40 1961

原创 96pro20220307

UCHAR Scan_Photo(unsigned Channel_Scan){ //wuhz 202/05/20 static unsigned int Scan_photoloc_i; UCHAR Loc_line; UCHAR Loc_Scan_Count; UCHAR Loc_ScanFlag; static unsigned int Data_Loc_o;//12个孔 static unsigned int Data_Loc_j;

2022-03-07 17:00:27 114

原创 RTX笔记

RTX中每个线程可拥有高达32个线程标志,这些线程标志存放在线程控制块中,其余线程可以通过设置这些Thread Flags来中断该线程的执行。RTX中每个线程可拥有高达32个线程标志,这些线程标志存放在线程控制块中,其余线程可以通过设置这些Thread Flags来中断该线程的执行。MCU上的很多资源能被复用,但是,在同一个时刻上仅仅只有一个线程能访问这些资源(例如通讯(串口,SPI),内存,文件等)。任何线程都可以将其他线程的标志位置位,线程本身只能等待自己的标志位。

2022-03-03 18:59:05 1196

误差相关统计与计算,误差相关统计与计算

误差相关统计与计算,误差相关统计与计算

2024-01-26

STM32_DSP.rar

指导大家入门STM32F4的DSP,搭建DSP库测试环境,同时通过对DSP库中的几个基本数学功能函数和FFT快速傅里叶变换函数的测试,让大家对STM32F4的DSP库有个基本的了解。源码包含对512/1024/2048/4096个点计算的源代码

2020-02-28

emqttd-windows7-v2.3.0.zip

mqtt windows下搭建服务器,亲测安装包,目前自己在阿里云服务器上正在使用。解压后安装说明操作即可。

2019-12-02

9_TcpAndUdp_singlelineSPI_AP.rar

ESP8266 从SPI源代码,使用了SPI单线协议。WIFI上次速度大大提高,里面还包括配套的STM32 SPI通信代码。WIFI 速度远远大于串口通信。

2019-09-16

LY-51S 开发板配套资料.rar

51单片机课程视频。包括事例,源码,调试工具。适合51单片机开发入门。源码可以直接编译下载,无需再次调试。工程项目,可以裁剪利用。

2019-09-16

空空如也

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

TA关注的人

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