自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Arduino错误解决

没有安装CH340驱动文件。

2025-05-07 12:36:13 91

原创 基于S函数的simulink仿真

S函数是系统函数(system function)的简称。可以用MATLAB代码、C、C++等语言来编写S函数。

2025-04-03 23:46:59 733

原创 现代机器人学——可操作度学习

xtfθt))式中,θ∈Rn为一组关节变量。x˙∂θ∂fθ​dtdθt​∂θ∂fθ​θ˙Jθθ˙式中,Jθ∈Rm×n称作。雅可比矩阵可以表示,它是关节变量θ的函数。下面给出一个具体例子:x1​L1​cosθ1​L2​cosθ1​θ2​x2​L1​sinθ1​L2​sinθ1​θ2​。

2025-03-11 15:31:22 345

原创 Python—类class复习

这样,Python将不会考虑这个父类方法,而只关注你在子类中定义的相应方法。将实例用作属性:可以将类的一部分作为一个独立的类提取出来。可以。

2025-03-09 23:34:59 815

原创 在Pycharm中将ui文件修改为py文件

pyuic5 -x ui文件的名字.ui -o 想要转换成py文件的名字.py。在一些教程中,通常使用cmd打开终端修改,或者是有一些人写了一些脚本来修改。有些时候,我们需要把QTDesigner生成的.ui文件修改为.py文件。我们再进入.ui文件存放的文件夹ui,再终端中输入cd ui。此时中断已经自动进入了我们需要的文件夹,不需要再cd进入。此时我们发现ui文件夹中自动创建了py文件。首先,我们在pycharm中打开文件夹。这个ui文件夹内存放着我的.ui文件。我们在主界面左下角打开终端。

2025-03-02 19:38:05 706

原创 Adams学习—文件导入、布尔操作、修改材料与汉化教程

注意事项:1、Adams的保存路径一定全是英文,否则会出错2、快捷键只在英文下生效,记得shift切换输入法3、驱动力只能添加在已有的运动副上4、三个物体共轴在一起,自行建立一个坐标系进行定位cm代表物体的质心。

2025-03-02 16:32:53 1946

原创 STM32学习——FLASH闪存

STM32F1系列的FLASH包含程序存储器、系统存储器和选项字节三个部分,通过闪存存储器接口(外设)可以对程序存储器和选项字节进行擦除和编程利用程序存储器的剩余空间来保存掉电不丢失的用户数据通过在程序中编程(IAP)类似技术:OTA,实现程序的自我更新在线编程(In-Circuit Programming – ICP)用于更新程序存储器的全部内容,它通过JTAG、SWD协议或系统加载程序(Bootloader)下载程序。

2025-03-01 19:08:16 1034

原创 STM32学习——WDG看门狗

WDG(Watchdog)看门狗:程序卡死的时候,自动复位看门狗可以监控程序的运行状态,当程序因为设计漏洞、硬件故障、电磁干扰等原因,出现卡死或跑飞现象时,看门狗能及时复位程序,避免程序陷入长时间的罢工状态,保证系统的可靠性和安全性看门狗本质上是一个定时器,当指定时间范围内,程序没有执行喂狗(重置计数器)操作时,看门狗硬件电路就自动产生复位信号STM32内置两个看门狗独立看门狗(IWDG):独立工作,对时间精度要求较低窗口看门狗(WWDG):要求看门狗在精确计时窗口起作用。

2025-02-28 10:53:41 759

原创 在Keil中有时不会出现代码提示框

但是如果按下快捷键没有反应,可能是系统自带输入法的配置问题,可以通过以下方式解决。一般来说,在Keil中都会自动出现代码提示框。对右下角输入法单击鼠标,单击按键设置选项。就算不出现,我们也可以使用。修改快捷键如上图所示。之后就可以愉快的使用。

2025-02-28 09:54:31 755

原创 STM32学习——PWR电源控制:低功耗模式

PWR(Power Control)电源控制PWR负责管理STM32内部的电源供电部分,可以实现可编程电压监测器和低功耗模式的功能可编程电压监测器(PVD)可以监控VDD电源电压,当VDD下降到PVD阀值以下或上升到PVD阀值之上时,PVD会触发中断,用于执行紧急关闭任务低功耗模式包括睡眠模式(Sleep)、停机模式(Stop)和待机模式(Standby),可在系统空闲时,降低STM32的功耗,延长设备使用时间,并且降低主频也可以省电。

2025-02-27 20:47:39 611

原创 STM32学习——RTC实时时钟(BKP与RTC外设)

BKP(Backup Registers)备份寄存器BKP可用于存储用户应用程序数据。当VDD(2.0-3.6V)电源被切断,他们仍然由VBAT(1.8-3.6V)维持供电。当系统在待机模式下被唤醒,或系统复位或电源复位时,他们也不会被复位TAMPER引脚产生的侵入事件将所有备份寄存器内容清除RTC引脚输出RTC校准时钟、RTC闹钟脉冲或者秒脉冲存储RTC时钟校准寄存器用户数据存储容量:20字节(中容量和小容量)/ 84字节(大容量和互联型)RTC(Real Time Clock)实时时钟。

2025-02-26 16:52:20 1043

原创 STM32学习——SPI通信协议(2)软\硬件读取W25Q64实现

STM32内部集成了硬件SPI收发电路,可以由硬件自动执行时钟生成、数据收发等功能,减轻CPU的负担可配置8位/16位数据帧、高位先行/低位先行时钟频率: fPCLK / (2, 4, 8, 16, 32, 64, 128, 256)支持多主机模型、主或从操作可精简为半双工/单工通信支持DMA兼容I2S协议STM32F103C8T6 硬件SPI资源:SPI1、SPI28位数据帧,高位先行其中SPI1是APB2的外设,SPI2是APB1的外设。

2025-02-26 09:39:30 1419

原创 STM32学习——SPI通信协议(1)协议简介与W25Q64芯片简介

SPI是摩托罗拉公司开发的一种通用数据总线四根通信线:SCL(Serial Clock)(SCLK\CK\CLK)、MOSI(Master Output Slave Input)(DO)(主机输出从机输入)、MISO(Master Input Slave Output)(主机输入从机输出)(DI)、SS(Slave Select)(从机选择)(NSS\CS)同步、全双工同步时序必须有时钟线,数据位的输出和输入,都是在SCK的上升沿或者下降沿来进行的全双工:数据发送和数据接收各占一条线。

2025-02-25 11:29:02 1210

原创 STM32学习——I2C通信协议(2)硬件I2C实现

之后,STM32由从模式转为主模式,然后控制完硬件电路之后,就要检查标志位,来看硬件有没有达到想要的状态;当检测到起始条件已发送时,就可以发送一个字节的从机地址,从机地址需要写到数据寄存器DR中,写入DR之后,硬件电路就会自动把这一个字节转到移位寄存器里面,再把这一个字节发送到I2C总线上,之后硬件就会自动接收应答位并判断,如果没有应答,硬件会置应答失败的标志位,这个标志位可以申请中断来提醒。7位地址,起始条件后的一个字节是寻址,10位寻址,起始条件后两个字节都是寻址。这个函数的返回值,就是DR的数据。

2025-02-20 20:46:49 561

原创 STM32学习——I2C通信协议(1)软件I2C实现

I2C总线(Inter IC BUS)是由Philips公司开发的一种通用数据总线SCL(Serial Clock)(时钟线)、SDA(Serial Data)(数据线)同步,半双工带数据应答支持总线挂载多设备(一主多从、多主多从)异步时序的好处是省一根时钟线,节省资源,缺点是对时间要求严格,对硬件电路依赖比较严重同步时序对时间要求不严格,对硬件电路不怎么依赖,缺点是多一根时钟线PS:产品说明书文件RS:寄存器映像文件MPU6050是一个6轴姿态传感器。

2025-02-19 14:42:10 1042

原创 STM32学习——通信接口USART

串口是一种应用十分广泛的通讯接口,串口成本低、容易使用、通信线路简单,可实现两个设备的互相通信单片机的串口可以使单片机与单片机、单片机与电脑、单片机与各式各样的模块互相通信,极大地扩展了单片机的应用范围,增强了单片机系统的硬件实力USART(Universal Synchronous/Asynchronous Receiver/Transmitter)通用同步/异步收发器。

2025-02-18 14:55:47 763

原创 STM32学习——DMA直接存储器存取

DMA(Direct Memory Access)直接存储器存取DMA可以提供外设和存储器或者存储器和存储器之间的高速数据传输,无须CPU干预,节省了CPU的资源12个独立可配置的通道: DMA1(7个通道), DMA2(5个通道)每个通道都支持软件触发和特定的硬件触发STM32F103C8T6 DMA资源:DMA1(7个通道)用来协助CPU完成数据转运的工作使用ADC的扫描模式来进行多通道采集,然后使用DMA来进行数据转运,最终转运的数据就会自动的跑到定义的数组里面。

2025-02-17 17:25:04 1117

原创 STM32学习——ADC模数转换器

ADC(Analog-Digital Converter)模拟-数字转换器【DAC可以将数字变量转换为模拟电压—>PWM】ADC可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量,建立模拟电路到数字电路的桥梁12位逐次逼近型ADC,1us转换时间0-3.3V0~409518个输入通道,可测量16个外部和2个内部信号源最快转换频率1MHz规则组和注入组两个转换单元。

2025-02-17 14:39:24 1018

原创 STM32学习一一TIM(Timer)定时器(4)定时器编码器接口(编码器测速)

Encoder Interface 编码器接口编码器接口可接收增量(正交)编码器的信号,根据编码器旋转产生的正交信号脉冲,自动控制CNT自增或自减,从而指示编码器的位置、旋转方向和旋转速度每个高级定时器和通用定时器都拥有1个编码器接口两个输入引脚借用了输入捕获的通道1和通道2。

2025-02-16 17:09:57 1256

原创 STM32学习——TIM(Timer)定时器(3)定时器输入捕获功能

IC(Input Capture)输入捕获输入捕获模式下,当通道输入引脚出现指定电平跳变时,当前CNT的值将被锁存到CCR中,可用于测量PWM波形的频率、占空比、脉冲间隔、电平持续时间等参数每个高级定时器和通用定时器都拥有4个输入捕获通道可配置为PWMI模式,同时测量频率和占空比可配合主从触发模式,实现硬件全自动测量对于同一个定时器,输入捕获和输出比较不能同时使用。

2025-02-16 16:05:03 818

原创 STM32学习——TIM(Timer)定时器(2)定时器输出比较

输出比较(OC.Output Compare)可以通过比较CNT与CCR(捕获比较寄存器)寄存器值的关系,来对输出电平进行置1、置0或翻转的操作,用于输出一定频率和占空比的PWM波每个高级定时器和通用定时器都有4个输出比较通道高级定时器的前3个通道额外有死区生成和互补输出的功能PWM(Pulse Width Modulation)脉冲宽度调制在具有惯性的系统中,可以通过对一系列脉冲的宽度进行调制,来等效地获得所需要的模拟参量,常应用于电机控速等领域。

2025-02-16 13:34:12 977

原创 STM32学习——TIM(Timer)定时器(1)

STM32F103C8T6定时器学习——定时器基本定时功能,定时中断和内外时钟源选择

2025-02-15 17:53:32 1361

原创 算法笔记学习

很多排序题都会在排序后计算每一个个体的排名,且规则一般是:分数不同排名不同,分数相同的排名相同且占用一个排名。如五个学生成绩为90,88,88,88,86.那么排名为:1,2,2,2,5。在定义了长度为size的一维数组后,只能访问下标为0—size-1的元素,即int a[10]可以访问a[0],a[1],a[2]…对排序题,一定会在题目中给出个体的许多信息,例如学生有姓名,准考证号,分数,排名等信息。所谓模拟,就是题目怎么说,人就怎么写,不太涉及算法,根据题目描述来进行代码的编写,考察代码能力。

2024-04-12 20:02:40 1003

原创 C++程序设计竞赛(蓝桥杯——模拟与搜索)

n++表示n自增前的值,++n表示n自增后的值‘a[n++]是a[3]a[++n]是a[4]求a和b的最大公约数。

2024-04-10 16:36:15 603 1

原创 【类】使用类和实例

这里用car类进行说明class Car: """模拟汽车的尝试""" def __init__(self,make,model,year): """初始化描述汽车属性""" self.make = make self.model = model self.year = year def get_descriptive_name(self): """返回整洁的描述性信息""" long_name=f"{self.year} {self.make} {self.mod.

2021-07-26 12:39:29 148

原创 【类】创建和使用类

类就是说一类事物共有的特征,例如狗类的蹲下与打滚,狗类有着姓名和年龄,下面开始创建Dog类class Dog: """一次模拟小狗的尝试""" def __init__(self,name,age): """初始化属性name和age""" self.name = name self.age = age def sit(self): """模拟小狗收到命令时蹲下""" print(f"{self.name} is now sitting") def roll_over

2021-07-25 16:36:36 167

原创 Sublime Text使用input()

在工具处(tools)选择SublimeREPL,选择python,之后选择RUN current file出现新窗口输入即可

2021-07-21 10:55:33 3233

空空如也

空空如也

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

TA关注的人

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