自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

时时总结,常常分享

保持热爱,坚持学习!!!

  • 博客(142)
  • 资源 (11)
  • 收藏
  • 关注

原创 米尔MYC-Y6ULX-V2开发板测评记录

限于时间原因,本次仅测评了这些内容,总的来说,这款开发板还是很不错的,他给我眼前一亮的地方在域厂家对他的配套生态做的很好,这使得开发者上手起来会很方便。特别是系统构建这块,其他家还在用老式的方式,这边已经在用yocto了,非常给力,让我学到了很多东西。厂家的文档是十分详细,非常适合入门学习,给深入学习也留足的空间,真想多拥有一段时间啊。

2024-06-02 22:42:23 1094

原创 OrangePi AIpro测评

一开始我以为我应该用这个板子去测一些linux的三件套,编个ubbot,内核,文件系统啥的。真正用起来我被这个的ai性能惊艳到了,这种的板子更适合做应用层的开发,特别是这个系统刷完就配置好了环境,跑ai真的是太方便了。可以接触到这么多新的热门的ai模型,一个个的过一遍都能学到不少东西。总的来说,这块板子是一块很适合ai爱好者的开发板。

2024-05-29 22:59:32 1516

原创 esp32 idf记录(一)

其实前面的功能上已经用上串口了,这个idf好像默认的printf就是用的串口0 ,也就是那个默认的串口,前面已经可以用它来打印数据了。一般要准备一个Cmakelist.txt,这个可以当作一个模版使用。这里我用的是最基础的一个核心板,这张图比较清晰,看这个吧。搭建开发环境这里就不记录了,之前的文章有讲过,可以参考。led这块是有一个用户可以控制的GPIO2。新建驱动用的文件夹,basic可以省略。点灯的方式有很多种,这里分别试一下,然后外设上接了一个引出了一个串口。写一个串口回显的任务,阻塞实现。

2024-04-20 09:00:00 395

原创 VSCODE EIDE使用debug记录

需要设置一下这两个工具的路径,第一个是arm_gcc的,这个如果有安装过eide的话会自己给你安装好。这个方式对于esp32同样有效,步骤类似,这里有大佬已经写过了,目前我还没有对应的硬件,先记录一下。下面找到我们的eide的工程,找到这个json文件。随便选一个版本吧,我这里选的是这个。

2024-04-05 22:38:28 922 4

原创 极海APM32电机驱动板记录(二)

下面看一下板子的资源,首先是电源电路,稳压出来了12v,5v和3.3v最小系统这里没什么特别的,就是晶振加复位电路之后是一些常见的外设,这里关注一下USB引出了一路串口,为串口2,然后是两个按键,一个led下面是foc的检测电路,电流和霍尔的foc的驱动芯片用的是FD6288三相驱动的mos电流检测电路。

2024-04-05 19:18:23 1071

原创 qt开发记录

这里1是pro文件,可以理解为就是一个QT版本的makefile,他就是说明了一些链接文件的位置,还有一些基本的配置,生成文件是什么之类的东西。2是工程的.c还有.h文件,这是程序的部分设置,不过一般这几个都不会动,mainwindow相关的是页面相关的配置代码,mian文件一般是主程序,一般执行一个页面显示的功能,因此一般开发新的功能需要我们再去新建新的类。3时页面的配置文件,点击可以进入页面的编辑页面pro文件:程序文件:ui文件直接进入ui文件是这样的。

2024-03-18 23:45:00 1747

原创 EIDE新建新项目记录

总的来说这个过程应该和keil新建工程比较像,但是vscode有自己的这个插件就会方便我们使用vscode的功能,这样会方便很多。

2024-03-10 09:47:58 489 1

原创 环形缓冲区设计

缓冲区还多用在网络收发中,经常会因为网络抖动,为了保证读取的稳定,收到的数据会先写入缓冲区,之后在缓冲区中读取数据,这样可以一定程度的抵抗网络抖动。当然,缓冲区的大小也是有限的,当缓冲区没有数据的时候,就没什么作用了。

2024-02-27 23:43:41 426

原创 音频混音算法的实现

函数里面实现,实现上来看就是加在一起,然后做一个归一化处理,就是为了防止达到上限设置了一下归一化。最近项目有用到混音算法,这里用比较常见的一种,就是简单的加和之后做一下归一化。测试上可以用两个dtmf的声音来测试,结果如下。

2024-02-27 22:53:54 876

原创 使用orangepi玩linux

最近看了这个大佬的文章,写了使用远程来挂载linux的方案,觉得还是很有意思的,瞬间感觉linux这块都还是相通的,就跑了一下,但是这个博主只讲了用网络挂载,我觉得还可以弄个本地的,这样更方便。

2024-01-31 23:36:08 635

原创 imx6ull学习记录(一)

这一块主要是了解linux系统驱动部分,编译镜像相关的知识,这里记录一下。

2024-01-29 22:48:16 961

原创 虚拟机设置静态ip

这个时候输入ifconfig,就是和主机一个网段了,之后开始设置镜头ip,输入。这里我用的是ubuntu18.04的虚拟机,安装完成之后,点击进入设置。再使用ifconfig就是静态ip了。这里设置一下桥接模式。

2024-01-29 22:38:08 560

原创 #FTHR-G0001开发板开箱测评#

感觉开发起来还是很方便的,很多之前在其他MCU上的都可以很方便的移植过来,就是没有原理图有点难受啊,总是看丝印不太方便。

2023-09-02 17:42:22 749 6

原创 shell脚本记录

运行shell脚本需要先修改文件的权限,因为一开始我们创建的shell只是一个很普通的文本文件,无法执行shell命令,这里直接使用chmod 777来提高权限。可以使用上面的命令来统计数字,$#表示所有数,$@枚举输入的每个数,$1,$2这样的表示第一个和第二个,以此类推。可以用test命令来查看文件是否存在,编写如下脚本使用test -e来判断当前路径下是存在对应的文件。可以理解为linux里面的一种自动化命令,一般可以用于自动化的执行一些命令。也可以使用if,elif,else这样的结构。

2022-10-24 22:33:33 1987 6

原创 mqtt报文逐条解析

本文还是需要参考mqtt的中文协议文档,所有的变种都是基于这个的。之前的文章已经提到过一些mqtt的格式,这里不再赘述,需要的可以直接翻看之前的文章了解查看,目前mqtt总的报文如下:connect是一号报文,需要第一个发送,包括一些鉴权信息(用户名,密码等),方向是从客户端到服务器,二号报文是服务器回复客户端的,回复客户端连接正确与否,方向是从服务器到客户端。之后关注一下ping相关的报文,PING报文,是用于保活的,方向从客户端到服务器,定期发送保活,同样服务器也要定期回复客户端,就是PINGRSP

2022-09-24 13:42:12 4585 2

原创 tftp服务器配置及说明

这里是使用NAT模式来实现的,因此外部设备是怎么也找不到这个设备的,所以如果需要外部设备和虚拟机之间进行tftp连接就无法实现,还是需要通过windows来实现,因此这个工具就能派上用处了。下面可以进行一个简单的测试,在原有的tftp的文件夹下新建一个文件,之后在另一个路径下使用tftp进行获取到,传输指定的文件,可以看到文件传输成功!因此可以知道tftp就是用来进行文件传输的一种协议,一般也不能传输特别大的文件,常用来传输一些小文件,例如编译好的固件之类的。传输来的文件放在开头的文件夹下,如下所示。

2022-09-17 15:33:17 4185 1

原创 hi3861A上手记录

这种板子的开发和传统的开发区别在于他不是搭建一个开发环境然后,下载SDK去修改代码然后编译这样的,他的区别在于它好像是下一个鸿蒙的工程,然后使用这个工程来编译出一个模块,这样再将编出来的固件下载我们的设备上去。最近搞到了一块HI3861的开发板,所以来用一下看看开发是如何的,这里记录一下开发过程,主要是参考了一些官方的资料文档,方便之前从没涉及过这一块的爱好者少走点弯路。需要下载两个开发工具,这个东西其实就是vscode的两个插件,一个是win平台的,一个是linux平台的(

2022-09-12 16:10:18 507

原创 c++学习记录(七)

(functor),其实就是重载“()”操作符,使得类对象可以像函数那样调用。函数对象是一个类,不是一个函数。是所有STL头文件中最大的一个,范围涉及到比较、 交换、查找、遍历操作、复制、修改等等。(function object),即它们是行为类似函数的对象,也叫。使用这些仿函数所产生的对象,用法和一般函数完全相同,但是需要注意就是。体积很小,只包括几个在序列上面进行简单数学运算的模板函数。下面是一元谓词的基本使用:(参数只有一个)重载函数调用操作符的类,其对象常称为。(主要是一些四则运算相关的函数)

2022-09-10 10:33:41 371

原创 阿里云使用记录

最近正好做一些云相关的工作,主要是mqtt连云的一些东西,正好看到了阿里云这个平台,用了一下感觉平台很强大,资料也很丰富,特此记录一下,说不定以后会一直使用呢。入口如下,直接在搜索框输入就能看到:这里需要登陆一下,直接进去即可这里我用的只是物联网的部分,直接在里面找到相应的分块即可如下所示即可找我需要的分块这里分为公共实例和企业实例,如果只是体验一下的话使用公共实例即可,没有必要上来就用企业实例,毕竟企业实例需要交费点击就进入最常见的这个页面了,如下所示:因为我了解这个云之前就发现它是

2022-09-07 19:54:16 2181 3

原创 ubuntu更新python版本

目前用的虚拟机是16.04的,默认的python版本是3.5的,有些库好像运行不了,需要提高一下python版本,网上搜了好写解决方案都不太行,最终还是走的源码编译的路子,这里记录一下。先说一下传统的方法吧:然后是更新软件源之后在安装对应的python版本但是事实情况是这个源里面已经没有这个文件了,这个方法目前来说已经不适用了就是,会报错:还有一些新的源,可以自行搜索,网上有很多大佬给了他们的一些源,但是我试了都不行,所以最终还是放弃,采用源码编译的方式来实现。

2022-09-06 22:56:17 7418

原创 近期的一些小总结(关于TCP/IP协议相关的)

首先还是记录一下是什么,这个是关于通信的,本地进行消息传递的方式有很多,例如,都是比较经典的进程间通信的方式,但这都是一个设备之间的进程进行通信,要实现设备和设备之间的通信需要使用Socket来实现。Socket将网络通信的)进行封装,使得进行网络中的进程间通信变得很方便。Socket的通信数据传输方式有两种比较常用的,分别是。

2022-09-05 23:51:04 1009

原创 c++学习记录(六)

前面总结了vector容器的一些知识,这篇文章来总结其他一些容器的相关概念。

2022-09-04 10:39:27 790 1

原创 c++学习记录(五)

这里比较常见的数据类型还是我们写一个类,类中可以由多种不同的参数,如下所示:向容器中写入不同类型的参数主要有下面的两种方式:分别是直接写入和写入地址下面是采用地址的方式写入:最终输出结果如下://自定义数据类型 class Person {public :int mAge;};//创建数据 Person p1("aaa" , 10);it!it ++) {it!it ++) {

2022-09-01 23:30:28 914

原创 数据结构记录(一)

数据存储的目的在于方便后期的使用,使用完之后可以对齐销毁掉,没有必要一直占用内存空间,如果是存储一些常见的变量可以直接进行,但如果存储一些特别的变量,主要是指这些变量之间存在一些关系,这个时候单独存储就无法体现出这种关系了,针对这一类的变量,数据结构中提供专门的树结构来储存这一类数据。线性表,细分为顺序表,链表,栈和队列;树结构,包括普通树,二叉树,线索二叉树等;图存储结构;下面对这些结构进行相关说明:换另一种方式进行分类,可以概括为:逻辑结构和储存结构(又称物理结构)......

2022-08-26 00:05:16 610

原创 vscode工具Remote-SSH使用记录

有些时候开发linux平台的时候没有桌面端,一般需要我们现在win平台上写好代码再传进去,这样如果需要频繁修改代码的时候就不是很方便,后面发现有人用这个vscode的工具还是很不错的,可以直接在vscode上进行配置,相当于一个非常不错的终端了。要使用这个的话需要自己提前配置好ssh,这个我就不说了,如果是之前做过linux相关的应该都有一些了解,很早应该就都配置过了。之后会显示一个配置文件,配置文件可以不用修改,这里面的Host是起的一个名字,可以自行任意修改,当然也可以不改。下面需要输入密码进入。

2022-08-24 00:35:34 1329

原创 makefile记录

有时候我们需要编写一个规则用来执行一些令,但是这个规则不是用来创建文件的,比如下面的,我们一般会写一个clean的目标,方便我们清理掉一些过程文件:

2022-08-06 23:51:04 983

原创 c++学习记录(四)

标准模板库)STL从广义上分为容器(container)算法(algorithm)迭代器(iterator)容器和算法之间通过迭代器进行无缝连接。STL几乎所有的代码都采用了模板类或者模板函数容器、算法、迭代器、仿函数、适配器(配接器)、空间配置器容器各种数据结构,如vector、list、deque、set、map等,用来存放数据。算法各种常用的算法,如sort、find、copy、for_each等迭代器扮演了容器与算法之间的胶合剂。仿函数STL容器就是将运用。...

2022-07-23 11:34:55 535

原创 c++学习记录(三)

c++面向对象是来源于生活的设计,每个对象在生成的时候也会有初始化设置,当不需要对象将其删除的话也需要对数据进行清理的操作,c++中使用构造函数和析构函数来解决上面的问题,这两个函数会被编译器自动调用,完成对象的初始化和清理的工作,这个部门是编译器要求的,如果没有做的话,编译器也会做,不过那样就是一个空实现。下面来说明下这两个函数:下面的例子展示了构造函数和析构函数的用法如果要展示析构函数,需要我们创建一个被释放的函数,如下所示:构造函数语法:析构函数语法: 根据上面的总结,可以将构造函数进行分类,分

2022-07-06 22:51:40 596

原创 c++学习记录(二)

引用变量是一个别名,也就是说,它是某个已存在变量的另一个名字。一旦把引用初始化为某个变量,就可以使用该引用名称或变量名称来指向变量。下面的例子中实现了一个别名:代码如下:引用这里有一些注意事项:详情如下所示:函数中传递的都是形参,我们知道形参的传递会带来很大的问题,我们一般的解决方式是使用指针来完成这一目的,但是使用引用也可以用形参来修饰实参,这样一定程度上可以替代指针的方式。下面是使用三种方式来实现交换变量结果如下,可以看到使用引用也可以改变变量。引用的本质是一个指针常量,例如我们创建下面的

2022-07-03 00:00:00 568

原创 numpy笔记

运行结果如下所示:运行结果如下所示:运行结果如下所示:对一个numpy对象进行直接求和:指定数据类型求和:如果对二维的矩阵不进行操作也是直接对所有元素直接求和:二维矩阵不同维度进行操作(这里说二维矩阵不太严谨,因为他只是个numpy对象,不过我们可以当成矩阵来处理)这里新增了维度的概念,可以理解为如果是axis=0就是竖着看,然后等于1就是横着看:这里效果跟之前的均值差不多,解释可以看均值部分:这里效果跟之前的均值差不多,解释可以看均值部分:这里效果跟之前的均值差不多,解释可以看均值部分:直接查

2022-07-02 14:42:39 663

原创 平衡小车的一些常见问题总结

pid控制值对偏差进行比例,积分和微分的控制,分别是三个部分,对应为比例单元,积分单元和微分单元。三个单元的作用可以简单的称为:这里要注意一点就是串级pid有一般会有一个环起到比较重要的作用,而另一个环只是辅助这个环的,比如这个系统中的直立环就是这样的。用公式来表达就是:a=b1∗θ+b2∗θ'a=b1*\theta +b2*\theta \text{'}a=b1∗θ+b2∗θ'上面这个是使用到了比例微分控制,在这个系统中误差是角度,角度的变化量正好是角速度,所以这里甚至可以直接将角速度作为输入参数来进

2022-06-30 23:45:00 4242 2

原创 c++学习记录(一)

c++个人学习记录,仅供个人学习笔记

2022-06-27 11:14:27 295

原创 51单片机学习记录(六)IIC,ADC部分

文章目录

2022-06-09 06:00:00 2151

原创 51单片机学习记录(七)红外遥控和PWM

文章目录1、基本原理1、基本原理红外遥控肯定是通过红外线来实现的,可见光的波长从长到短进行划分,红光的波长是最长的,红外线就是波长比红光的波长还要长一点的光线了,那么顾名思义,波长比紫光波长还要短的光线自然就是紫外线了,红外遥控就是通过红外线来进行数据传输的。红外遥控由发射部分还有接收部分组成,...

2022-05-30 23:45:00 2940

原创 51单片机学习记录(五)矩阵按键

文章目录1、矩阵按键的控制原理2、矩阵按键实现1、行列式法实现矩阵按键2、线翻转法实现矩阵按键1、矩阵按键的控制原理独立按键与单片机连接时, 每一个按键都需要单片机的一个 I/O 口, 若某单片机系统需较多按键, 如果用独立按键便会占用过多的 I/O 口资源。 单片机系统中 I/O 口资源往往比较宝贵, 当用到多个按键时为了减少 I/O 口引脚, 引入了矩阵按键。本开发板上的矩阵按键原理图如下所示:可以看到是将16个按键排成4行4列,前面的四行分别连接io口的每一行,后面的四行分别连接io口的

2022-05-30 08:00:00 8449 8

原创 51单片机学习记录(四)数码管

文章目录1、数码管显示原理1、单个数码管显示2、多个数码管显示2、静态数码管显示3、动态数码管显示1、数码管显示原理数码管一般是由led组成的,常见的LED如下所示,我们通过搭接led就可以实现类似数码管的效果数码管如下所示,一般的数码管都是8位的(7个数字位加上一个小数点的位就是8位):1、单个数码管显示可以看一个数码管的原理图,一共是十个引脚,其中有两个是一样的,实际上就是9个,一般那个引脚决定是共阳还是共阴极,如下所示:那么这样我们来进行排序的话,按照上面提到的方式,如果是显示一个0

2022-05-29 14:42:25 3336

原创 51单片机学习记录(三)中断系统

文章目录这里还是看下这些部分的意思吧,首先是STC89C5X 系列单片机的中断源,他一共提供了 8 个中断请求源,分别是:外部中断O(INTO)外部中断 1(INT1)外部中断 2(INT2)外部中断 3(INT3)定时器 0中断定时器 1 中断定时器 2 中断串口(UART)中断这里需要注意的就是外部中断2和3还有定时器2中断有些51不一定有,这里需要慎用,这里51一共有四个中断优先级(差一点的只有2个中断优先级)普中这里还提供了相关的中断查询表这里51单片机对中断的控制都在

2022-05-29 10:38:57 1057

原创 面试中比较常问的通信协议总结

文章目录1、UART1、同步和异步2、硬件层3、协议层2、IIC1、特点2、硬件层3、协议层3、SPI1、特点2、硬件层3、协议层本文仅代表我个人观点,算是个人总结吧,相信也会随着学习的不断深入对本文不断改进。1、UART1、同步和异步首先还是看下两个概念的区别吧,比如打开cube的他们的全称为:UART 通用异步收发传输器USART 通用同步/异步收/发器可以看到USART是可以有同步功能的,这里的同步就是增加了时钟线,在stm32的cube的配置中就体现为这个智能卡了,这个同步

2022-05-28 23:56:18 2849 1

原创 51单片机学习记录(二)

文章目录1、蜂鸣器2、按键3、串口前面的文章提到了关于51单片机使用EIDE进行开发的基本功能的实现,下面继续完善相关教程,完成其他相关外设的开发学习记录。1、蜂鸣器2、按键3、串口void uart_init(u8 baud){ TMOD|=0X20; //设置计数器工作方式2 SCON=0X50; //设置为工作方式1 PCON=0X80; //波特率加倍 TH1=baud; //计数器初始值设置 TL1=baud; ES=1; //打开接收中断 EA=1; //打开总

2022-05-28 23:09:21 1295

原创 51单片机学习记录(EIDE开发)

首先还是要把python的这个工具安装下

2022-05-26 15:22:52 1628 4

香橙派ai pro外壳,3d打印用,已验证OK

香橙派ai pro外壳,3d打印用,已验证OK

2024-06-07

EIDE新建工程模版代码,对应博客

EIDE新建工程模版,适用于APM32,stm32的标准库和hal库,在vscode上开发

2024-03-10

在STM32单片机上使用傅里叶解析信号

详见博文:https://blog.csdn.net/m0_51220742/article/details/124869371#comments_27958462

2023-08-05

c++编写的通讯管理系统

学c++过程中跟着视频打得,可以跟着来一遍或者检查用,希望能帮到需要的人。

2022-07-02

STM32连接ONENET云平台

stm32连接ONENET云平台,稳定可靠,另有连接阿里云,腾讯云等教程,详见博文

2022-04-15

STM32解析GPS数据

ATGM336H数据解析,使用串口设计,解析方便可靠,不过多占用单片机资源,详情可见相关博文。

2022-04-15

MS5837深度传感器例程

MS5837深度传感器,HAL库例程,待带温度补偿,接口方便使用,实测稳定可靠。

2022-04-15

TFT-LCD使用hal库移植

兼容正点原子精英版,多款屏幕和触摸芯片兼容

2022-03-19

SPI驱动SD卡,使用FATFS文件系统,操作方便

详见https://blog.csdn.net/m0_51220742/article/details/123549327?spm=1001.2014.3001.5501

2022-03-19

SDIO驱动SD卡,使用FATFS文件系统,操作方便

详见https://blog.csdn.net/m0_51220742/article/details/123549327?spm=1001.2014.3001.5501

2022-03-19

直流编码电机速度位置双闭环

直流编码电机速度位置双闭环(可简单修改为速度位置单环),详情见博客描述

2022-01-21

APM自动驾驶车地面站,文档资料等

地面站为mp修改而成,支持apm2.8 包含快速入门,使用手册,编译说明,原理图等

2022-01-19

python信息管理系统实战

# 功能概述(需求分析) - ## 添加学生及成绩信息 - ## 将学生信息保存到文件中 - ## 修改和删除学生信息 - ## 查询学生信息 - ## 根据学生信息进行排序 - ## 统计学生总分

2022-01-18

基于pwm+dma的stm32的ws2812工程

基于pwm+dma的ws2812工程,芯片采用stm32f103ze,hal库编写,简单易懂,数量采用宏定义,函数封装,方便移植。

2022-01-06

空空如也

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

TA关注的人

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