自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【滑动平均滤波】

每次调用该函数时,都会计算当前缓冲区内所有值的平均数,并将其作为滤波后的结果返回。在您的摇杆项目中,这个函数非常重要,因为它能够将摇杆的原始模拟输入(这些输入可能因设备而异且具有不同的输入范围)标准化到一个统一的数字输出范围内。滑动平均滤波是一种常用的数字滤波技术,用于减少数据中的随机变异(噪声),从而获得更加平滑的数据输出。它的工作原理是连续取样本的平均值,每次包括最新的样本并丢弃最早的样本。1、将新的输入值加入到一个固定长度的缓冲区(数组)中。2、缓冲区满后,最旧的数据将被新数据替代。

2024-05-13 13:29:30 373 1

原创 STM32学习:串口通讯(proteus仿真)

文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言本次通过CubeMx+proteus进行stm32串口仿真一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsimport wa.

2022-02-28 22:13:06 31143 17

原创 STM32:定时器中断与优先级

文章目录前言一、基础知识1、常见的定时器资源2、定时器中断频率计算二、CubeMx硬件配置1、硬件配置步骤:2、CubeMx硬件配置3、定时器配置总结前言利用HAL库开发实现功能:使用TIM2实现定时,每隔1秒实现双闪功能一、基础知识1、常见的定时器资源1.系统滴答定时器 SysTick集成在Cortex M3内核的定时器,主要目的是给RTOS提供时钟节拍做时间基准。比如HAL库函数中的HAL_Delay()就是基于这个定时器开发的。如果要做嵌入式Linux的相关项目,要和上位机进行通讯的话.

2022-02-26 00:41:52 5593

原创 STM32学习:外部中断

文章目录一、STM32外部中断1、基本知识2、中断设计流程二、硬件配置1、proteus仿真电路搭建2、CubeMX硬件配置3、配置中断1、寻找中断虚函数2.读入数据总结一、STM32外部中断1、基本知识1、外部中断(EXTI)是STM32芯片实时处理外部事件的一种机制,由于中断请求来自于GPIO端口的引脚, 所以称之为外部中断。2、STM32芯片有16个外部中断源EXTI0–EXTI15,分别对应7个中断服务函数,其中EXTI0–EXTI4是专用, 其他为共用。3、EXTI0的.

2022-02-24 21:19:43 10833

原创 STM32学习:按键控制LED

STM32学习:按键控制LED文章目录前言一、知识点复习二、使用步骤1.引入库2.读入数据总结前言涉及知识点:上下拉电阻,stm32_GPIO工作模式,stm32按键控制,GPIO电平读取内容:一个按键控制两个LED灯亮灭。提示:以下是本篇文章正文内容,下面案例可供参考一、知识点复习示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as

2022-02-22 20:44:30 4936

原创 STM32_GPIO口

一、GPIO功能1、输入浮空模式 浮空输入状态下,STM32读到的电平只根据IO端口的电平有关,如果不连接确定电平负载该引脚的电压也是不确定的2、输入上拉模式开启上拉时引脚默认电压为高电平,开启下拉时引脚默认电压是低电平3、输入下拉模式开启上拉时引脚默认电压为高电平,开启下拉时引脚默认电压是低电平4、模拟输入模式GPIO的引脚用于ADC电压采集的输入通道时,需要将GPIO设置为模拟输入模式注意:除ADC和DAC要将IO配置为模拟通道其他外设功能一律要将IO配置为复用功能模式

2022-02-16 17:25:17 5343

原创 STM32学习第一步:点灯(hal+标准库+Proteus仿真)

文章目录前言一、CubeMX生成keil5工程文件再进行代码逻辑编写二、标准库写法Proteus仿真测试选择生成的hex文件并将时钟设置为8M前言任务需求:使用stm32c8点亮两个led小灯并实现闪烁效果注:本次任务包含CubeMX+hal库以及单独使用标准库两种写法完成代码构建。并最后通过Proteus仿真测试运行结果提示:以下是本篇文章正文内容,下面案例可供参考一、CubeMX生成keil5工程文件再进行代码逻辑编写工程配置:时钟配置:生成Keil5工程文件:注意:路径及..

2022-02-05 01:52:59 1825

原创 python学生管理系统

学生信息管理系统,首先由管理员增加、删除、修改、查找、导入教师信息,再有教师界面登录不同的教师类别,辅导员老师负责增加、删除、查找、学生的相关信息、教务老师负责增加、删除、修改、查找、有哪些课程的相关信息、授课教师负责增加、删除、修改、查找、学生本门课的分数,学生通过注册将信息加到数据库中,再进行登录,学生可以通过本系统来查成绩、查询及修改个人信息,并查询所在班级有哪些课程安排。项目意义(1)保证信息的准确性和时效性,随时通过计算机对系统进行管理,使得学生信息处于最新状态,保证统计数据和分析的准...

2022-01-21 02:38:20 3513

原创 python-mysql数据插入与查询

数据库插入:import pymysql # 打开数据库连接db = pymysql.connect(host='localhost', user='testuser', password='test123', database='TESTDB') # 使用cursor()方法获取操作游标 cursor = db.cursor() # SQL 插入语句sql =

2022-01-15 21:39:27 434

原创 python定时器及数据库操作

定时器:本次定时器依然使用sleep()实例:时间每秒打印一次import timeimport datetimesecond = 1 #延时变量while 1: #循环输出 time.sleep(second) #设置延时 times = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') #设置时间格式 print(times) #打印时间# 这是隔1秒执行一次运行效果:python操作

2022-01-12 01:34:35 1129

原创 多线程学习-时间改变事件

线程学习:根据时间变化触发其它线程输出本地时间:import time localtime = time.localtime(time.time())print ("本地时间为 :", localtime)计算时间消耗:方法一:time.sleepimport time print "Start : %s" % time.ctime()time.sleep( 5 )print "End : %s" % time.ctime()运行结果:方法二:直接计算循环终止:for

2022-01-10 12:37:48 179

原创 python多线程

多线程多线程类似于同时执行多个不同程序,多线程运行有如下优点:使用线程可以把占据长时间的程序中的任务放到后台去处理。用户界面可以更加吸引人,比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度。程序的运行速度可能加快。在一些等待的任务实现上如用户输入、文件读写和网络收发数据等,线程就比较有用了。在这种情况下我们可以释放一些珍贵的资源如内存占用等等。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。创建线程一个进程里面必然有一个

2022-01-08 23:32:13 80

原创 python类添加方法以及pow和cmp的使用

python装饰器@classmethod定义:classmethod是用来指定一个类的方法为类方法,没有此参数指定的类的方法为实例方法使用方法:eg:在Date_test类里面创建一个成员函数, 前面用@classmethod装饰。 它的作用就是将传入进来的字符串先处理一下,然后再传给Date_test类中。class Date_test(object): def __init__(self,year=0,month=0,day=0): self.day = day self.month

2022-01-06 19:55:01 496

原创 python-类继承多态

python-类继承多态类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。class car: '车的重量与驾驶方法类' carname = "" chezhong = 0 #重量 jiashi = "" #驾驶方法 def __init__(self, n,z, j):#类的构造函数 self.carname = n self.chezhong = z

2022-01-06 13:02:35 657

原创 STM32学习第四课:STM32 c语言学习基础4(结构体的参数传递、文件的包含、大小端和字节序、位域、函数指针)

1.结构体的参数传递在进行传值的时候,用结构体封装有利于函数的传递。用指向结构体变量的指针作为函数参数。结构体做函数参数有三种传递方式:一:是传递结构体变量,这是值传递二:是传递结构体指针,这是地址传递三:是传递结构体成员,当然这也分为值传递和地址传递。以传引用调用方式传递结构比用传值方式传递结构效率高。以传值方式传递结构需要对整个结构做一份拷贝。下面看一个列子,student结构体中包含该学生的各种信息,我们在change函数中对其进行部分修改,再在主函数中输出其结果1.下面传递结构体变

2021-02-05 23:37:51 1926

原创 STM32学习第三课:STM32 c语言学习基础3(内存操作、指针、结构指针)

1.内存操作在对内存操作头疼的时候我发现了这篇神奇的文章,拜读之后豁然开朗心生崇拜数据指针在嵌入式系统的编程中,常常要求在特定的内存单元读写内容,汇编有对应的MOV指令,而除C/C++以外的其它编程语言基本没有直接访问绝对地址的能力。在嵌入式系统的实际调试中,多借助C语言指针所具有的对绝对地址单元内容的读写能力。以指针直接操作内存多发生在如下几种情况:(1) 某I/O芯片被定位在CPU的存储空间而非I/O空间,而且寄存器对应于某特定地址;(2) 两个CPU之间以双端口RAM通信,CPU需要在双端口

2021-02-05 22:37:29 2503

原创 STM32学习第二课:STM32c语言基础2

1.Typedeftypedef用于为现有类型创建一个新的名字,或称为类型别名,用来简化变量的定义。typedef在MDK用得最多的就是定义结构体的类型别名和枚举类型了。如:typedef struct{ u16 seq_num; u16 len; u8 dev_id[GPRS_PRO_DEVICE_ID]; u16 command_id; u8 *pro_data;}gprs_pro_cmd_t;然后我们就可以直接使用gprs_pro_cmd_t定义一个结构体变量。2.结构体①

2021-02-03 23:51:20 685

转载 STM32学习第一课:STM32 编程的C语言基础

刚开始看STM32的库函数,会有很多疑惑,例如指针怎么用,结构体跟指针怎么配合,例如函数的参数有什么要求,如何实时更新IO口的数据等。如果重新进行C语言的学习,那么要学很久才能够系统地认识。这里将比较容易想不起来的知识点进行简单的整理。1、#ifdef 和 #ifndef#ifdef 标识符A// 如果标识符A定义了,就编译程序段1,否则编译程序段2程序段1#else程序段2#endif#ifndef 的功能则与 #ifdef相反,是没有定义标识符A的时候编译程序段1。2、全局defin

2021-02-02 23:09:54 3754

原创 嵌入式c学习第一步:dev cpp编译器安装

嵌入式c学习1.安装dev cpp进入官网直接点击下载https://sourceforge.net/projects/orwelldevcpp/下载完成后点击安装并单击下一步即可创建并运行第一个项目:

2021-02-02 22:36:37 336

原创 第一次总结:整体框架

第一次总结:整体框架tcp部份:1、初始化WiFi连接路由器wifi.begin(); bool b = wifi.Initialize(STA, SSID, PASSWORD);连接局域网 if(!b) { DebugSerial.println("Init error"); } delay(8000); //make sure the module can have enough time to get an IP address String ipstring

2020-09-14 23:34:05 168

空空如也

空空如也

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

TA关注的人

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