自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

电子爱好者磊雷

涨自己的知识,走自己的路

  • 博客(55)
  • 资源 (6)
  • 收藏
  • 关注

原创 Anaconda配置pychram虚拟环境填坑

PyCharm虚拟环境配置踩坑避雷

2025-03-27 19:38:16 468

原创 Ubuntu 20.04配置ollama并下载安装调用本地大语言模型

Ollama 是一种新的本地语言模型管理与运行平台,旨在帮助用户在本地环境中运行和管理大型语言模型(LLMs),例如 LLaMA、GPT 等。与传统基于云的解决方案不同,Ollama 专注于在用户本地系统上运行这些模型,以提高数据隐私性和响应速度。

2024-11-11 18:18:30 2938 2

原创 STM32使用HAL库获取超声波传感器数据

HAL库编程获取超声波传感器数据,以及对于HAL库底层变化对于程序的影响

2023-01-27 22:20:52 1814 3

原创 使用C++编写STM32软件IIC

最近在重构自己的平衡车代码,里面需要用到MPU6050的DMP,从中读取四元数进行欧拉角解算,但是看着软件IIC的代码实在是很变扭,因为之前不会C++,所以如果需要调用多个IIC设备,那么使用的时候就需要重复的去进行软件IIC底层代码的初始化,非常的麻烦,而且需要调整各个引脚,在学习过C++之后,发现类实在是太好用了,那么我就在想能不能通过类把软件IIC的底层进行封装,实现和arduino一样的编程效果,使用的时候只需要放入软件IIC的SCL和SDA对应的GPIO即可。

2022-12-04 16:58:53 1983 4

原创 ArduinoIDE初步开发ESP8266时钟

ESP8266Arduino IDE 2.0.0-rc9-nightly任务调度

2022-08-18 01:17:47 4316

原创 CAN通讯

CAN、STM32、CubeMX

2022-07-02 20:27:09 1770

原创 陀螺仪数据处理(BMI088)

BMI088陀螺仪使用

2022-05-31 17:13:26 28352 23

原创 STM32F4软件IIC的使用

1.开发环境2.说明3.F4和F1软件IIC区别a.GPIO初始化区别b.us级延时区别c.总结1.开发环境:硬件:STM32F407IGH6开发板 TCS34725颜色识别模块软件:Keil CubeMX2.说明:该模块从网店购买,网店是提供STM32F103C8T6的开源例程的,从网店上拿到开源例程后本人在F1系列单片机上可以成功跑通,但是换到F4单片机上发现了几个可能影响例程跑通的注意事项,在这里简单说一下3.F4和F1软件IIC区别:...

2022-03-14 16:10:26 10019 2

原创 树莓派4B安装Ubuntu Mate20.04

需要准备的设备:树莓派4B(这里我选用的是8G内存版本) 键盘和鼠标(必须要有键盘,鼠标在安装好Ubuntu Mate后使用) 显示器(这里推荐使用HDMI屏幕,我使用的是https://www.waveshare.net/wiki/7inch_HDMI_LCD_(C)下的屏幕) 16G/32G的SD卡(推荐使用32G,因为最新的Ubuntu Mate20.04的镜像文件高达5GB) 读卡器(USB2.0或者3.0均可,这里推荐使用3.0...

2021-08-10 23:13:39 4149 3

原创 DR16接收机硬件底层代码

DR16接收机D_BUS与开发板通讯方式为单线串口通讯,**DR16只发送遥控器的信号,单片机进行接收,二者之间不能进行交互**,这里面说一下**DR16的发送为固定频率的实时发送**,因此在使用单片机串口进行接收的时候,为了节省单片机的算力,我们使用串口3且接收方式使用占用资源较少的**DMA**通道进行接收,**根据DR16的特性如果使用串口中断进行接收,占用单片机内部资源较多,而且这仅仅是一个遥控器的简单底层,无需占用过多的软件资源考虑,并且使用串口中断接收会增加程序编写的难度,影响实际使用中系...

2021-07-28 12:25:42 2449 5

原创 单片机定时器PWM输入捕获无法读取编码器信号

STM32系列单片机的定时器PWM输入捕获模式,判断频率和占空比只适用于频率相当稳定的情况下,假如是通过计算频率的方式捕获霍尔原理的编码器的信号,由于电机运行在非理想状态,转速时刻在变化,导致霍尔传感器输出PWM的频率时刻发生改变,因此在STM32F103RCT6单片机上无法精确反应采集时刻编码器输出的PWM频率,所以读取编码器还是建议采用单片机定时器的编码器模式进行读取,这样数据更加准确,这样定时器直接计算捕获周期内脉冲的数目来得到此时电机的转速,而不是通过计算PWM的频率得到转速。 定时器P...

2021-06-07 21:23:52 1286 3

原创 CAD2019的使用

1.CAD2019在创建工程文件的时候注意选择工程文件的标准规定,类型中有ISO的即为国际标准,没有ISO的即为英制标准,常用的是具有ISO的标准。2.CAD2019有构造线功能,快捷键XL,当把正交线关掉的时候,构造线可以任意绘制。3.从草图与注释里面可以打开菜单栏4.如果想左侧出现绘图工具栏可以选择5.图层的使用:注意:0图层是一直存在的删不掉的,使用图层一般不从0图层开始设置。...

2021-05-25 13:51:06 1678

原创 STM32双串口接收数据

工程要求需要至少两个串口,一个串口用于接收传感器数据,另一个串口用于接收上位机或者遥控器发来的指令,本次开发的软件使用的是CubeMX和keil5的编译环境,使用的单片机是STM32F103RCT6,使用串口3接收传感器的数据,串口1接收上位机或者遥控器发来的指令,下面上CubeMX的配置图片:图中开了三个串口,原本打算使用串口2接收数据,但是实验过程中发现串口2出现了问题,不能正常使用,所以使用串口3接收传感器数据三个串口的配置如下:这里三个串口的配置均相同,且中断优先级设置的均为默认优先级,

2021-05-16 17:28:48 3858

原创 STM32学习心得

从点亮LED灯开始的入坑之路建议点完灯之后立即学习怎么使用小屏幕OLED(几个脚都好用)接下来可以开始串口通信的学习(尤其是收发中断)ADC的使用非常重要很多接触到的传感器都是输出模拟量的而且需要快速固定频率采集数据的话建议学习一下定时器触发数据通过DMA传递接下来可以学习一下定时器的使用了32常用的定时器功能有PWM波输出,PWM波输入判断占空比和频率,输出比较功能(可以输出变频率的PWM)输入捕获高低电平(超声波一系列的模块)使用定时器进行延时的功能定时器的编码器模式(如

2021-03-14 13:11:26 1923

原创 STC12多中断使用(PWM ADC 串口)

以下程序为使用STC12C5A60S2单片机,采用ADC中断扫描模式,并且初始化定时器0进行PWM输出,用串口输出温度数值:难点:ADC中断与PWM输出靠定时器0发生并且串口通讯波特率靠定时器1发生,这几个中断在代码编写与调试过程中,发现这几个程序独立应用的代码直接移植过来,并不能正常使用,这几个中断的优先级顺序和初始化顺序会产生相互干扰,因此经过查找相关资料,最终解决了这个问题,下面为详细代码(注释是手打上去的,不知道为啥从keil往这里粘贴会出现问题)void PWM_init() //PWM初始化

2021-03-11 18:05:01 2036

原创 AD学习笔记11(后期)

1.在使用网上现成的引脚封装的时候一定要注意使用的时候,原理图库和PCB库的对应情况,这次画的板子出现了这种情况,原理图库和PCB库不对应,导致模块无法安装。...

2020-06-17 23:39:00 663

原创 AD学习笔记4

1.创建库 文件->新的->工程->集成库2.保存->先保存工作台再保存工程(保存到创建的文件夹下面)3.向工程中添加原理图库-> 文件->新的->library->集成库4.绘制单片机原理图的时候引脚上有横杠的用“\”来画:p\s\e\n会转换成带横杠的psen。5.更换名字 工具->器件属性

2020-06-17 23:37:14 267

原创 AD学习笔记7

1.创建3D库的步骤:文件->新建->库->PCB3D(库)2.Altium无法绘制3D模型,只能从外界导入,导入步骤:工具->导入3D模型3.通过:放置->3D原件实体(3Dbody),打开后需要选择属性步骤模型,然后通过插入步骤模型进行导入。4.在3D模型与焊盘不匹配的时候可以通过旋转进行调整位置,由于A

2020-06-17 23:36:57 156

原创 AD学习笔记6

1.通过报告->测量距离,可以测量焊盘之间的距离。2.通过工具->新的原件,创建需要画的pcb原件库。3.从这通过A可以对画的引脚标号。4,双排引脚找DIP,单排引脚找SIP。...

2020-06-17 23:36:44 217

原创 AD学习笔记8

1.集成库编辑的条件是必须在打开集成库的情况下,或者新建立集成库的条件下进行编辑。

2020-06-17 23:36:33 400

原创 AD学习笔记5

1.创建完集成库之后创建PCB库,文件->新建->库->PCB元件库2.从这可以找到焊盘、过孔、走线、放置圆环、圆弧、填充3.

2020-06-17 23:36:07 225

原创 AD学习笔记9

1.过孔也称金属化孔,在双面板和多层板中,为连通各层之间的印制导线,在各层需要连通的导线的交汇处钻上一个公共孔,即过孔(连接不同层之间需要联通的导线需要过孔)。2.自动布线的情况下,过孔一般使用器件焊盘来完成,手动布线的时候需要自行画出过孔。3.AD的各种文件名称及其文件属性,绝不可以自行在外进行修改。4.部完线之后可以需要进行敷铜板,放置->多边形敷铜,三种敷铜模式如上图所示,最好选...

2020-06-17 23:35:57 400 2

原创 MOS管与三极管的使用

在经历两天的探索和多次失败之后,终于掌握了MOS管和三极管的使用技巧:下面是普通NPN三极管的使用,根据8050的数据手册,基极电流5ma或者3.3ma时即可使三极管工作在饱和工作状态,以上的使用是用三极管的E级作为驱动级,如果驱动电机或者电流略大的时候可以将三极管放在GND端进行驱动。MOS管使用的时候一定注意,个人认为MOS管之所以具备电气隔离的能力是因为按照三极管的原理连接后,进行驱动...

2020-03-04 21:21:30 1262

原创 SW学习总结

1.画以下八棱台的时候,有两步骤细节操作,在两次拉伸之后,需要进行放样,放样结束后圆周阵列前,一定要左键全部选中左端工作进程栏然后右键(注意不能落下任何一个),然后再进行圆周阵列,这样才能阵列成功,第二次第三次放样同上述操作步骤。2.放样练习的时候很多时候需要调整放样的细节,具体操作的时候要先放样完毕,然后左键再选中放样,进行编辑然后执行下图操作在这里插入图片描述3.待更...

2020-02-19 21:14:40 1698 1

原创 单片机与C语言语法注意笔记

1.在使用单片机的时候注意无符号整形变量和一般整形变量的区别2.进行比较的时候最好使用一般变量进行比较,如果原来变量是无符号变量最好将其进行强制类型转换,转换成。一般类型变量进行比较3.在进行减法的时候一定注意,注意数据的类型,否则程序一定会出bug的, 统一变量类型进行减法。...

2020-02-09 16:31:17 417

原创 STM32的Cube学习笔记(ADC)

经过具体实验可知,以前思学师哥的程序中有ADC开始DMA采集和停止DMA采集两个函数,可以理解成消抖,因为采集频率过快数据可能会发飘。 硬石资料如下根据实验只需要将ADC的DMA通道采集打开,无需关闭即可采集成功,而且数据比较稳定,这样为快速傅里叶变换做出了准备。...

2020-01-28 20:31:59 453

原创 降压模块的使用

注:1.在实际使用过程中可能很难找到一模一样的和资料中相符的极性电容,目前来看可以用容量较大的极性电容进行代替,这样电路的耐压能力和各方面的属性没有受到任何消极影响。2.一般降压模块正常工作都需要有最小输出电流,因此最好电路中外接LED灯,这样既可以明确看出电路是否正常运行,又可以延长降压模块的使用寿命。常用12V转5V降压模块是7805:7805三端稳压IC内部电路具有过压保护、过流保护...

2020-01-06 10:20:30 11321

原创 关于光电门的使用

常见的光电门有PNP和NPN两种,目前单片机技术很成熟,大部分时候使用光电门配合单片机,然后再外挂其它外设进行控制,如果逻辑简单,其实可以直接使用光电门进行逻辑控制,实验发现,光电门在外界供电正常,各项物理条件符合使用要求的时候,接入到电路中不能正常工作,被接入电路图如下图示:当光电开关输出低电平的时候控制端输出5V,高电平时输出0,实际使用过程中可能是由于光电开关的输出能力不够,或者外围电路...

2019-10-05 10:50:45 4837

原创 平衡小车的资料

根据网上平衡小车之家的资料引脚需要用:LED ----- PA12Key -------PA15OLED:RST_Clr ------ PC13RS_Clr ------ PB4SCLK_Clr ------ PC15SDIN_Clr ------ PC14ADC:PA4TIM3:PB0 PB1Motor:PB12 PB13 PB14 PB15PWM: PA...

2019-08-02 19:22:09 863

原创 HAL库的使用之Cube配置编码器输入捕获模式

做平衡小车目前有两种思路,第一种是使用编码器电机,这样一般是两个闭环控制,直立闭环和速度闭环,另一种是使用步进电机,一般使用步进电机很少进行闭环控制。使用Cube进行配置时,发现几点注意事项,STM32单片机自带编码器接口,可以直接进行使用,十分方便,所以根据硬石科技的资料,编码器模式在STM32HAL库中叫做Encoder 。 首先有一点注意事项,在配置编码器模式的时候一定要对所使用...

2019-07-24 13:36:27 7191 4

原创 电气规则

**一件重要的是,就是对于功率元件而言,一定要注意散热,尤其是尽量不要使用主控板子进行散热,如果能使用散热片最好,不能使用散热片的情况下,想法与控制板隔离,或者隔开一段距离,中间以铜柱或者其它的形式连接,保证中间有较好的空气流动,以达到散热的目的。**而且因为集成运放元件需要外部电路较多,因此一定不要将需要使用的功率型元件与其焊接在一起,这样的话会对集成运放中的晶体管的线性区域造成影响, 会产生温...

2019-07-14 04:29:58 132

原创 制作频谱应用FFT心得

生活中充斥着各种各样的信号,甚至包括我们所熟知的220VAC交流电,都属于一种交流信号,只不过信号强度较大,会要人的命,网上关于fft的应用,例程,硬件电路已经很多了,个人纯属爱好做个总结,各位大佬勿喷。 先上两张图,大家体会一下傅里叶变换的奇妙之处:...

2019-07-12 18:02:50 1341 2

原创 步进电机驱动的使用及程序

步进电机驱动盒使用注意事项:signal端是信号输入控制端:信号输入控制端在具体控制的时候有两种接法(注:均无需全部接入控制信号):共阳极接法:将ENA+,DIR+,PIL+均接3.3V/5V,如果高于或者等于12V,需要接限流电阻1K;共阴极接法:将ENA-,DIR-,PIL-均接GND。共阳极接法的时候,通过控制ENA-的高低电平来控制电机的转停,通过控制DIR-的高低电平来控制电...

2019-06-24 23:41:37 6313

原创 STM32系列单片机使用心得

CortexM3系列的芯片不能进行浮点运算,此类芯片的控制能力较好,是用来取代单片机的,CortexM4及其高代芯片可以进行浮点运算,此类芯片运算速度较快。...

2019-05-26 01:01:08 2188

原创 机器人大赛总结

stm32配置图:颜色识别模块对应接线:/接线方法/VCC 接3.3/GND 接GND/LED 接3.3#define S0 PCout(6)#define S1 PCout(7)#define S2 PCout(8)#define S3 PCout(9)#define OUT PAin(8)Oled屏幕的对应接线:// ------------...

2019-05-18 22:50:38 192

原创 硅光电池采集用于植物叶片农残检测

百度文库链接:https://wenku.baidu.com/view/cfc47a3af46527d3240ce07d.html电路原理图:根据靳志帅师哥所说没有必要使用双电源给运算放大器供电,使用LM324运算放大器就可以。首先,硅光电池受光的影响产生电流,经过并联采样电阻2R产生电压信号,此电压信号进入运算放大器的同相端进行放大;经过100倍放大后产生伏级的电压输出信号,即电平输出信...

2019-04-11 14:47:17 441

原创 STM32学习笔记(PWM输出)

以下为定时器PWM输出函数,注意:使用时一定要把原来输出函数注释掉。注释代码如下:// sConfigOC.OCMode = TIM_OCMODE_PWM1;// sConfigOC.Pulse = 0;// sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;// sConfigOC.OCFastMode = TIM_OCFAST_DISABL...

2019-04-08 17:36:43 3249

原创 STM32定时器输入捕获频率(cube)

从目前手头资料来看,定时器输入捕获频率只有高级定时器能够做到,其它的定时器应该不可以。

2019-04-08 17:30:31 1549

原创 优快云使用方法

如果想改变优快云已经发布的博客的状态,只需要进入博客点击一下保存,然后再选择发布文章,即可修改已经设置的发布属性

2019-04-02 22:56:29 524

原创 STM32之vl53l0x读取距离

51黑论坛链接:http://www.51hei.com/bbs/dpj-76363-1.html,优快云论坛链接:https://blog.youkuaiyun.com/Liqipeng1/article/details/87711186vl53l0x_i2c.c中的代码是:#include “vl53l0x_i2c.h”#include “delay.h”///////////////////...

2019-04-02 22:49:05 8397 3

STM32 HAL库驱动 挂载文件系统 硬件IIC EEPROM 软件IIC OLED 软件IIC DS1307 IO口矩阵键盘 串口lora模块,实现远程通讯掉电保存和远程数据显示

均已测试没有bug,函数已经写好,挂载滴答定时器简易操作系统

2025-01-02

新版ArduinoIDE,arduino-ide_nightly-2022

新版arduinoIDE在vscode的内核基础上,集成了arduino的开发环境,加入了代码提示的功能,下载安装库更加方便,界面很舒服

2022-08-19

MAX30102心率血氧传感器使用,采集到的心率血氧数据可通过串口打印或者在OLED上显示,采用STM32单片机

底层代码使用CubeMX生成,传感器驱动使用HAL库进行编程配置,传感器和OLED均使用的是软件IIC,按照代码中提示的IO口硬件组装能够直接使用

2022-08-02

使用STM32单片机运行FFT,采集声音信号在OLED上显示频谱

涉及到ADC模拟量采集以定时器中断的方式定频率触发,OLEDSPI方式底层驱动,全部均是使用HAL库实现完成,底层采用CubeMX生成,只是软件部分,可以直接给ADC输入信号发生器产生的信号进行测试

2022-08-02

STM32定时器使用,PWM输入捕获模式计算PWM波占空比和频率

使用CubeMX配置生成,底层采用HAL库,可以使用易于上手

2022-08-02

Project.zip

实现了串口3接收传感器数据,串口1接收上位机发送数据(亲测可用)

2021-05-16

编码器电机(能读出编码器数值).zip

可以使用的通过STM32hal库,应用Cube进行配置的定时器编码器工作模式,且能正常读出编码器的数值

2019-07-24

空空如也

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

TA关注的人

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