自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SPI的HAL库配置

2024-09-13 13:07:49 111

原创 STM32的IAP原理及其操作流程分析

然后代码部分如下:程序上电后等待上位机更新,如果等待6s没有更新指令,则执行旧的flash里面的项目APP程序。这里的起始地址加size要等于项目APP程序的起始地址0x8010000。一般我们会去找对应map文件,可以查看程序占用多少kb,由下图可见我们的程序占用flash的空间为8.14kb。下图的start是程序存放在单片机内部flash的起始地址,size是你给你程序留的flash大小。1:IAP启动程序的大小通过找.map文件查看程序占用flash大小,从图可得只有8KB。

2024-09-12 10:57:59 509

原创 STM32--HAL库配置外部中断

链接:https://pan.baidu.com/s/1K6u4CjBeNrwut3pp64EqRw 提取码:xdf9 hi,这是我用百度网盘分享的内容~复制这段内容打开「百度网盘」APP即可获取。然后在到GPIO处做如下选择:由下图中序号1可得:PD1是外部中断,PD2是普通引脚.由打印的数据可得:每次下降沿都会触发串口发送信息到串口打印软件上。第一步是选中对应的GPIO引脚:如图点击红色框内的即可。下图序号2可得:选择的模式为下降沿触发PD1外部中断。之后在配置NVIC 如下图 使能外部中断。

2024-07-24 09:54:53 375

原创 STM32--HAL库--定时器篇

使能中断后,我们点击下图中的NVIC,会发现定时器中断已经使能,这时候我们取消强制勾选DMA那个选项都可以,也可以不取消。链接:https://pan.baidu.com/s/1RdEzRO3Q55CPnQE47sKKCQ 提取码:v2d9 hi,这是我用百度网盘分享的内容~复制这段内容打开「百度网盘」APP即可获取。由图得T=100*1000/100MHz 注:100MHz=100000000。关于上图4的自动重装载值,作为基本定时器而言,一般不使能。配置好上述后,我们就可以生成工程代码了。

2024-07-23 00:10:10 481

原创 STM32---HAL库外设配置--串口外设配置及使用

链接:https://pan.baidu.com/s/14t2Fo1lSXfboVnMfqBiltw 提取码:5fyp hi,这是我用百度网盘分享的内容~复制这段内容打开「百度网盘」APP即可获取。最后点击NVIC,设置中断优先级,一般默认即可。如果想设置,需要将下图中的1勾选去除,然后自己设置优先级。到这一步都设置好了,接下来就是生成代码,然后加一些代码,就可以使用了。一:首先按照本人的时钟配置博客配置,配置好基础时钟。配置如下:首先配置成异步收发模式,如图中的序号1。下图中的1不用设置,默认即可。

2024-07-22 16:50:35 493

原创 STM32---HAL库基础配置记录之基础配置

其中2是BYPASS Clock Source (旁路时钟源模式)指无需使用外部晶体时所需的芯片内部时钟驱动组件,直接从外界导入时钟信号。由图得我用的是内部时钟源。在该界面做好如下配置,其中第三步记得去掉勾选,第六个是采用2的固件库,第一次用需要下载。其中第一个HSE代表的是时钟树的高速外部时钟对应下图中的1,LSE代表的是下图中的2。下图记得勾选对,第一个是只产生需要的库,第二个是产生对应的.c和.h文件,其它默认。们如果画板子时候有外部晶振提供时钟,那么我们就点击3,如果没有外部时钟,就点击1,

2024-07-21 17:32:55 387

原创 正点原子stm32HAL库学习_基础篇_1

STM32F103ZET6.pdf 是最新的英文版(V13)STM32 数据手册STM32F103ZET6(中文版).pdf 是中文版(V5)STM32 数据手册大家可以根据自己的喜欢来选择合适的版本进行阅读,内容上基本大同小异,从准确性全面性的角度来说,看V13 英文版是最好的,从简单,易懂来说,看V5 中文版也是可以的。

2023-06-30 15:28:49 720

原创 SPI通信以及与W2Q564(ROM)交换(读写)数据

存储器分为易失性存储器(RAM:内存)和非易失性存储器(ROM存储的数据是否是掉电不丢失)易失性存储器一般包括SRAM、DRAM等非易失性存储器一般包括E2PROM、Flash等接口示意图和引脚功能:W2Q564的存储原理图:划分空间首先,整个矩形空间里,是所有的存储器,存储器以字节为单位,每个字节都有唯一的地址,W25Q64的地址宽度是24位,3个字节,所以看到左下角,它的地址是00 00 00h,h代表16进制。之后的空间地址依次自增,指导最后的一个字节地址是7F FF FF h。

2023-06-01 13:51:36 1298 1

原创 硬件IIC通信以及源码使用说明(代码可迁移版本)

本文继承自软件IIC通信,所以基础部分不细说,仅对如何使用源码进行讲解。以MPU6050为例,首先需要初始化硬件IIC通信硬件初始化。之后就是利用上述代码对MPU6050初始化功能。其次指定地址读和指定地址写函数。代码如下:(注释均做详细解释)后读取设备号和读取数据函数。

2023-05-22 00:56:49 728 1

原创 软件IIC通信以及源码解析(如何使用)

指定地址写,通常用作对状态机模块的控制寄存器写入二进制数,操作控制寄存器,进而让模块进行我们需要的功能。1:发送 从机地址+读写位(因为读之前必须先写入从机地址,所以是从机地址+写(写=0))最后我们就可以读取数据寄存器的数据了(因为配置好功能寄存器了,所以数据寄存器开始产生数据)。1:发送 从机地址+读写位(因为是写,所以是从机地址+写(写=0))3:写入你想发送的八位数据(该八位数据用来控制寄存器功能)。2:发送(要写)要操作的寄存器地址。2:发送(要读)要操作的寄存器地址。

2023-05-21 23:48:13 800

原创 STM32之TIM编码器接口

编码器简介:例子讲解:正交编码器有两个输出,一个A相,一个B相,AB接口输出正交信号。

2023-03-23 10:03:15 1245

原创 STM32之TIM输入捕获(IC)

图解:从左到右,最左边,是四个通道的引脚,参考引脚定义表就能知道引脚是复用在那个引脚,引脚进来,有一个三输入的异或门,这个异或门的输入接在了通道1、2、3端口,异或门的执行逻辑是,当输入引脚的任何一个有电平翻转时,输出引脚就产生一次电平翻转,之后输出通过数据选择器,到达输入捕获通道1,数据选择器如果选择上面一个,那输入捕获通道一的输入就是3个引脚的异或值,如果选择下面一个,那异或门就没有用,4个通道各用各的引脚。

2023-03-22 10:27:27 4207 3

原创 STM32:TIM定时器输出比较(OC)

PWM(Pluse Width Modulation)脉冲宽度调制在具有惯性的系统中,可以通过对一系列脉冲的宽度进行调制,来等效地获得所需要的模拟量,常用于电机控速等领域,也就是说,使用这个PWM波形,是用来等效地实现一个模拟信号的输出,也就是以一个很快的频率,给电机通电、断电,也就使电机维持在一个中等速度PWM参数:频率=1/Ts 占空比=Ton/Ts 分辨率=占空比变化步距这四个函数就是配置输出比较模块,一个函数配置一个单元用来给输出比较结构体赋一个默认的值的。

2023-03-20 18:54:05 9856 3

原创 STM32之串口通信USART模块学习(1)

相关术语解释如下: 上图的CH340芯片实现USB协议转串口协议,通过该芯片,STM32的串口数据可通过该模块传送到PC端。 四、电平标准电平标准是数据1和数据0的表达方式,是传输线缆中人为规定的电压与数据的对应关系,串口常用的电平标准有如下三种:TTL电平:+3.3V或+5V表示1,0V表示0RS232电平:-3 ~ -15V表示1,+3 ~ +15V表示0RS485电平:两线压差+2 ~ +6V表示1,-2 ~ -6V表示0(差分信号) 串口发送数据的数据帧 波特率:串口通信的速率(波特率1

2023-03-18 16:50:57 3222

原创 STM32之DMA转运学习,附代码

图解:左上角这里是Cortex-M3内核,里面包含了CPU和内核外设NVIC和SysTick等等,剩下的所有东西都可以看做存储器,所以总共就是存储器和CPU两个东西,Flash是主闪存,SRAM是运行内存,各个外设都可以看成是寄存器,也是一种SRAM存储器。寄存器是一种特殊的存储器。

2023-03-17 09:58:13 1795

原创 STM32之ADC模数转换器单通道。

模拟-数字转换器ADC可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量,建立模拟电路到数字电路的桥梁。12位逐次逼近型ADC,1us转换时间。分辨率含义:0 ~ 2^12,即0 ~ 4095 ,位数越高量化结果越精细,分辨率越高STM32的ADC输入是0~3.3V,所以ADC是将0~3.3V线性映射成0~4095。

2023-03-16 02:55:01 1162

原创 STM32之基本定时器中断

一次定时器中断溢出的时间可以由以下的公式计算得来:一、TIM(Timer)定时器基本定时器中断可以对输入的时钟进行计数,并在计数值达到设定值(自动重装值)时触发中断;16位计数器、预分频器、自动重装寄存器的时基单元,在72MHz计数时钟下可以实现最大59.65s的定时;不仅具备基本的定时中断功能,而且还包含内外时钟源选择、输入捕获、输出比较、编码器接口、主从触发模式等多种功能;根据复杂度和应用场景分为了高级定时器、通用定时器、基本定时器三种类型。二基本定时器:有定时中断。

2023-03-13 06:03:37 6975

原创 STM32之EXTI外部中断

对射式红外式传感器计次:采用外部中断的实例(代码注释均有讲解)

2023-03-08 23:36:50 1390 1

原创 GPIO输入和输出以及八种工作模式

GPIO (general purpose input output)是通用输入输出端口的简称简单来说就是软件可控制的引脚,STM32芯片的GPIO引脚与外部传感器连接起来,从而实现与外部通讯、控制以及数据采集的功能。1.引脚全是GPIO?答案是否定的,不是所有引脚都是GPIO。

2023-03-05 14:21:42 3364

原创 双均线策略

双均线策略

2022-11-02 22:58:14 185

原创 聚宽平台第一个策略

【代码】聚宽平台第一个策略。

2022-11-02 20:50:06 304

原创 量化交易之双均线策略分析(Python)

1:获取数据,并计算5日均线和60日均线。2:绘制历史数据的收盘价和两条均线。3:计算所有的金叉和死叉日期。

2022-10-30 05:04:00 1298

原创 量化交易策略之股票数据分析(Python)

4:假如从2010 1.1 开始, 每月第一个交易日买入一手股票,每年最后一个交易日卖出所有股票, 到今天为止,我们受益如何?4:假如从2010 1.1 开始, 每月第一个交易日买入一手股票,每年最后一个交易日卖出所有股票, 到今天为止,我们受益如何?其次,读取k线数据,并保存下来,然后重新读取并完成目标2。3:输出该股票所有开盘比前日收盘跌幅超过2%的日期。3:输出该股票所有开盘比前日收盘跌幅超过2%的日期。2:输出该股票的所有收盘比开盘涨3%以上的日期。1:使用ts包获取某只股票的历史行情数据。

2022-10-30 04:27:28 414

原创 时间序列的预处理及其分类和检验(最后含Python案例)

1:时间序列分为平稳时间序列和非平稳时间序列。其中平稳时间序列又分为严平稳时间序列和宽平稳时间序列。下面主要讲解平稳序列,在讲解之前我们先引入概率分布的意义。

2022-10-18 18:25:37 3387

原创 1:时间序列定义来源

3:虽然时间序列的样本只有一次抽样,但是还是有样本的,因此还是可以。通过样本推断总体的数理统计方法进行研究。

2022-10-18 12:54:39 144

原创 阿里云天池学习赛之恶意程序检测(学习笔记)

注:对训练集和测试集中api种类统计发现不完全重合(有很大交集),因此,删除训练集中独有的三种api信息。并特征选取时采用训练集特征构建测试集的c和d类特征(这样对数据有一定的浪费)c:对api调用tid的次数统计形成特征(采用pd.pivot_table)2:采用的算法:LGB(其它算法未怎么尝试,先练练手,熟悉流程)b:对数值字段采用mean,max,min等函数生成数值特征。后续可改进的地方:采用其它算法,采用分层多折交叉验证等。d:对api调用不同tid的次数统计形成特征。

2022-10-11 00:40:29 921 1

原创 数据透视表——pivot_table学习(特征工程)

比如:华山三个,数量4/3,价格6000/3,账号就不用说了,三个都一样,均值自然就是其中一个;快手两个,数量4/2,价格6000/2。2:index 指定单索引\n索引变成了[客户名称]这一列,values显示的只有数字,而且都处理成均值。补充:当 values,aggfunc,columns 的取值只有一个时,有无中括号效果略有不同。3:指定多索引 索引顺序能决定不同的视觉体验,虽然结果是一致的。如果不需要显示全部的数值列,可以用Values参数指定。数值类型的字段只有:账号,数量,价格。

2022-10-09 23:44:10 558

原创 机器学习之逻辑回归算法以及Python实例分析

n第二种是样本是高度失衡的,比如我们有合法用户和非法用户的二元样本数据10000条,里面合法用户有9995条,非法用户只有5条,如果我们不考虑权重,则我们可以将所有的测试集都预测为合法用户,这样预测准确率理论上有99.95%,但是却没有任何意义。如果模型有T类,我们每次在所有的T类样本里面选择两类样本出来,不妨记为T1类和T2类,把所有的输出为T1和T2的样本放在一起,把T1作为正例,T2作为负例,进行二元逻辑回归,得到模型参数。就是不输出训练过程,1的时候偶尔输出结果,大于1,对于每个子模型都输出。

2022-10-09 00:57:52 939

原创 机器学习算法之线性回归及其sklearn实例

3:采用二次多项式拟合(原理见本人博客应用统计学) (pipeline封装注释里有说明解释)并查看R2分数。注:以上案例只是测试了一元回归在训练集上的线性回归效果以及多项式回归效果,其中用到了管道封装原理。注:至于为什么误差满足高斯分布这是数学家的问题,作为技术人员,只要知道会用即可。6:评价模型拟合好不好的方法:R平方:其实就是相关系数的平方:取值在0到1之间。注:1:梯度概念:对各个自变量的偏导数构建出的在某点单位向量。5:目标函数求最小值:采用梯度下降法求解。2.1:可视化拟合效果:结论:效果很差。

2022-10-06 20:04:38 1066

原创 天池O2O赛题最终版本实践

1:对比了模型融合以及单一算法,发现单一算法+调参后的结果更好。2:根据是否满减划分训练集和测试集,做出分开训练的尝试。3:训练集成绩包含在注释中。

2022-10-05 18:32:10 213

原创 天池O2O优惠券预测之模型验证代码解析

评价指标及预测方式等 性能评价函数。针对此任务及一些相关背景知识,使用优惠券核销预测的平均AUC(ROC曲线下面积)作为评价标准。即对每个优惠券coupon_id单独计算核销预测的AUC值,再对所有优惠券的AUC值求平均作为最终的评价标准。:1:绘制学习曲线对模型拟合程度进行可视化分析。5: coupon平均auc计算为最终评价指标。2:采用不同调参方式:网格搜索和随机搜索。6:选择不同模型进行比较,选择最好的模型。3:绘制验证曲线可视化调参过程。4:对交叉验证方式进行选择。

2022-10-04 16:40:48 1148

原创 机器学习之验证曲线绘制-调参可视化-sklearn

需要注意的是如果我们使用验证分数来优化超参数,那么该验证分数是有偏差的,它无法再代表模型的泛化能力,我们就需要使用其他测试集来重新评估模型的泛化能力。验证曲线和学习曲线的区别是,横轴为某个超参数的一系列值,由此来看不同参数设置下模型的准确率(评价标准),而不是不同训练集大小下的准确率。从验证曲线上可以看到随着超参数设置的改变,模型可能从欠拟合到合适再到过拟合的过程,进而选择一个合适的设置,来提高模型的性能。train_scores:如上图:num列k行的训练集评价分数。scoring:评价方式。

2022-10-04 16:27:55 1667

原创 机器学习之网格搜索调参sklearn

而是通过选择每一个超参数的一个随机值的特定数量的随机组合,这个方法有两个优点:相比于整体参数空间,可以选择相对较少的参数组合数量。RandomizedSearchCV的使用方法其实是和GridSearchCV一致的,但它以随机在参数空间中采样的方式代替了GridSearchCV对于参数的网格搜索,在对于有连续变量的参数时,RandomizedSearchCV会将其当做一个分布进行采样进行这是网格搜索做不到的,它的搜索能力取决于设定的n_iter参数。所以有人就提出了随机搜索的方法,

2022-10-04 16:08:23 1717

原创 机器学习之学习曲线绘制Python-skleran

train_scores:如上为numpy数组,第一行五个数据为抽取原始训练集10%的数据做的五折交叉验证的训练集指标。,第二行五个数据为抽取原始训练集25%的数据做的五折交叉验证的训练集指标。test_scores:如上为numpy数组,第一行五个数据为抽取原始训练集10%的数据做的五折交叉验证的验证集指标。,第二行五个数据为抽取原始训练集25%的数据做的五折交叉验证的验证集指标。train_sizes: 随着训练集的增大,选择在10%,25%,50%,75%,100%的训练集大小上进行采样。

2022-10-04 13:26:02 5129 2

原创 阿里云天池O2O优惠券预测之模型交叉验证部分Python代码

算法模型比较# 修改pandas默认的现实设置"""按照: 评价指标 验证方式 学习曲线 结果分析,模型选择 模型调参 的步骤对模型进行选择,调优"""#########部分SKLearn 集成的算法########################SKLearn 集成的算法###########################全局参数#############################################目录定义#################################

2022-09-29 12:22:52 570

原创 机器学习之交叉验证汇总及其Python代码

总结思想:进行交叉验证目的是为了充分利用训练数据,最大程度利用训练数据,以获得一个较好的模型,防止模型欠拟合或者过拟合。交叉验证是什么?在模型建立中,通常有两个数据集:训练集(train)和测试集(test)。训练集用来训练模型;测试集是完全不参与训练的数据,仅仅用来观测测试效果的数据。一般情况下,训练的结果对于训练集的拟合程度通常还是挺好的,但是在测试集总的表现却可能不行。比如下面的例子:图一的模型是一条线型方程。

2022-09-29 12:02:29 4582

原创 一元线性回归模型及其Python案例

在线性回归中,根据特征变量(也称自变量)来预测反应变量(也称因变量)。根据特征变量的个数可将线性回归模型分为一元线性回归和多元线性回归。例如,通过“人均可制配收入”这一个特征变量来预测“人均消费支出”,就属于一元线性回归;而通过“人均可制配收入”“行业”“所在城市”等多个特征变量来预测“薪水”,就属于多元线性回归。 薪水会随着工龄的增长而增长,不同行业的薪水增长速度有所不同。本案例要应用一元线性回归模型探寻工龄对薪水的影响,即搭建薪水预测模型。 模型优化一元多次线性回归模型

2022-09-26 11:18:07 4189

原创 相关系数显著性检验以及Python实例

解释:一般情况下,总体的相关系数是未知的,通常将样本相关系数作为总体的近似估计因此需要对样本估计出的相关系数做显著性检验(其实就是可靠性检验) 数据准备: 前十行数据如下: 1;绘制散点图,粗略查看相关关系 2:计算各变量之间的皮尔逊相关系数 3:皮尔逊相关系数的显著性检验步骤:1 计算各个相关系数检验的统计量 2 计算t分布临界值 3 比较 因为7.5>2.0686 得出结论:线性相关显著

2022-09-25 05:52:13 4627

原创 线性回归之相关系数分类及其Python实例

满足pearson相关系数的数据也可以用spearman计算;2.2 数值与分类的相关性:(代码结果在注释里)kendall和spearman属于秩相关;2.3 分类与分类的相关性:(基本不用)kendall的结果偏小,不建议用。2.1 数值与数值的相关性。1 数值数据与分类数据。2 数值数据与数值数据。3 分类数据与分类数据。

2022-09-25 03:12:04 642

原创 020优惠券预测之训练集的预测区间折扣率特征构建

折扣率特征构建是基于预测区间内构建的,因为当下的折扣信息是可以影响到用户是否产生用券消费行为的。因此可以作为特征构建。训练集的预测区间dataset和特征区间(构建历史行为)feature日期如下,以及数据集说明,更多信息在注释中。dataset保留了所有正和负样本,剔除了无关样本(普通消费样本)feature保留了所有正负样本和无关样本。

2022-09-20 10:27:09 246

STM32-HAL库配置外部中断

STM32-HAL库配置外部中断

2024-07-24

STM32-HAL库-定时器篇

STM32-HAL库-定时器篇

2024-07-23

STM32-HAL库外设配置-串口外设配置及使用

STM32---HAL库外设配置--串口外设配置及使用的模版

2024-07-22

SPI通信以及与W2Q564(ROM)交换(读写)数据

SPI通信以及与W2Q564(ROM)交换(读写)数据

2023-06-01

stm32pwm驱动舵机资源工程代码

stm32pwm驱动舵机资源工程代码

2023-05-03

stm32定时器中断案例资源

stm32定时器中断案例资源

2023-05-03

stm32流水灯案例,入门教程

stm32流水灯案例,入门教程

2023-05-03

origin2018-64未软件,科研专用,无bug版本

origin2018-64未软件,科研专用,无bug版本

2023-05-03

串口接受软件,用于接受串口发送的数据,并存储到对应文件目录下

stm32串口接受软件,用于接受下位机串口发送的数据,并存储到对应文件目录下。

2023-05-03

eemd文件工业算法使用的

研究生,毕业轮文

2023-05-03

空空如也

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

TA关注的人

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