自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 资源 (3)
  • 收藏
  • 关注

原创 Linux环境下挂载外接硬盘

Linux环境下外接硬盘挂载与卸载

2022-12-27 12:58:50 2823 1

原创 Linux环境下通过命令行连接WIFI

Linux环境下通过命令行连接WIFI方法与常见问题解决

2022-12-26 12:22:58 17952

原创 Ubuntu下Petalinux安装流程与常见问题解决

Petalinux在Ubuntu下安装常见问题解决

2022-12-07 10:18:18 3944 2

原创 Linux编辑器vi/vim快捷使用总结

vi/vim使用方法

2022-12-07 10:15:08 592

原创 Linux环境下Vivado和HLS功能测试

Vivado和HLS在Linux操作系统下的运行测试,与简单HLS生成的Verilog代码分析,以及HLS编译常见问题解决

2022-12-04 16:04:54 1317

原创 C/C++编译器配置——MinGW下载安装

win11下C/C++编译器MinGW安装

2022-11-26 11:44:05 2794

原创 Vivado在Linux下的安装与运行

Vivado在Linux下的安装

2022-11-18 18:18:01 16329 4

原创 FPGA(三)——基于FPGA的SPI通讯协议实现

一. SPI通讯基本原理1. SPI通讯介绍2. SPI主从模块通讯规则二. SPI主从模块案例与FPGA实现1. 案例描述设计4线SPI master 模块和slave 模块,要求如下:主机模块(master)接口定义:module spi_master( input clk_40k, //时钟信号,40kHz input rst_n, //复位信号,低有效 input [7:0] data_in,

2021-11-23 11:48:44 17046 7

原创 大疆A型板使用经验分享(八)——FreeRTOS操作系统的使用

一. freeRTOS操作系统操作系统(operating system) 本质上是一个帮助用户进行功能管理的软件,操作系统运行在硬件之上,为其他工作的软件执行资源分配等管理工作。一般称呼不使用操作系统的单片机开发方式为“裸机开发”,当进行裸机开发时,需要自己设计循环,中断,定时等功能来控制各个任务的执行顺序。而使用操作系统进行开发时,只需要创建任务,操作系统会自动按照一些特定的机制自动进行任务的运行和切换。除了任务管理之外,操作系统还可以提供许多功能,比如各个任务之间的通信,同步,任务的堆栈管理,控制任

2021-07-16 22:50:18 2823 12

原创 大疆A型板使用经验分享(七)——大疆M3508电机和PID控制

一. 大疆M3508电机二. CAN通讯协议三. PID控制四. CubeMX配置五. 部分代码和说明motor.h:/** ***************************************(C) COPYRIGHT 2021 CSS*************************************** * @file motor.h * @brief this file contains the common defines and funct

2021-07-16 21:23:58 19284 12

原创 大疆A型板使用经验分享(六)——GPIO口输入输出模式与HC-SR04超声波传感器控制

标题

2021-02-23 22:47:05 1757

原创 Keil5使用技巧(二)—— 利用下载器调试

问题:如何直接在Keil中进行编译并观察变量值的改变?问题解决:Keil界面可以利用Link进行调试,Link提供Debug功能,具体实现如下:将所需要观察的变量添加到Watch1或Watch2中:这样便可在Watch1中观察到变量的值:若想用十进制表示,可以取消十六进制显示:编译后即可进行观察:...

2021-02-07 22:00:49 1036

原创 Keil5使用技巧(一)—— 编译环境配置

问题在编译过程中找不到自定义的.h文件;添加新编译的.c文件。问题解决设置编译环境,找到.h文件所在路径:将.h文件所在路径添加后即可编译:将现有.c文件直接添加到Keil工程内:在现有的工程内新建一个文件夹:在新文件夹内添加已编辑好的.c文件即可:...

2021-02-07 21:53:00 3751

原创 大疆A型板使用经验分享(五)—— DMA配置和遥控器使用

一. DMA直接存储器访问(Direct Memory Access,DMA),当需要将外部设备发来的数据存储在存储器中时,如果不使用DMA方式则首先需要将外部设备数据先读入CPU中,再由CPU将数据存储到存储器中,如果数据量很大的话,那么将会占用大量的CPU时间,而通过使用DMA控制器直接将外部设备数据送入存储器,不需要占用CPU。STM32中的许多通讯如USART,SPI,IIC都支持DMA方式进行数据的收发。二. DBUS协议遥控器和stm32之间采用DBUS协议进行通讯。DBUS通讯协议和串口

2021-02-07 21:37:04 4815 13

原创 大疆A型板使用经验分享(四)—— PWM和舵机SG996的控制

一. j

2021-02-01 19:29:44 3135

原创 STM32F103C8T6原理图

2021-01-31 18:37:11 30361 11

原创 快速排序(Quick sorting)(C++)

一. 快速排序(Quick sorting)快速排序(Quick sorting) 与归并排序类似,同样是一种分而治之的排序算法,其过程可分为以下三个步骤:分离(Partition):在分离之前应当从数组中选择一个元素满足该元素之前的部分和之后的部分都占整个数组的一半,这样选择的元素称为pivot,然后在分离之前,将pivot放置在首位。如下图所示:递归(Recursion):在每个部分内利用递归的方法分别进行排序,具体实现方法如下图所示:合并(Conquer):最后将

2021-01-29 16:26:05 274

原创 归并排序(Merge sorting)(C++)

一. 归并排序(Merge sorting)归并排序(Merge sorting) 是一种将数据分而治之(divide and conquer)的算法,其实现过程如下:将数据分为两部分(Divides the list into halves);每一半各自进行排序(Sort each halve separately);将排序结果汇总(Then merge the sorted halves into one sorted array)。最差的情况如下图所示:由图分析可知归并排序是一种稳

2021-01-29 15:56:42 338

原创 冒泡排序(Bubble sorting)(C++)

一. 冒泡排序(Bubble sorting)冒泡排序(Bubble sorting) 的实现是通过比较数组内的相邻元素,并按大小交换位置,每次比较都要遍历全部的元素,从而依次确定最大(或最小)在一端,其具体实现过程如下图所示:由图分析可知冒泡排序是一种稳定的排序算法,在最糟糕情况下的时间复杂度为O(n2),平均时间复杂度为O(n2)。二. C++ 代码#include <iostream>using namespace std;void BubbleSort(in

2021-01-28 22:47:50 238

原创 插入排序(Insertion sorting)(C++)

一. 插入排序(Insertion sorting)插入排序(Insertion sorting) 类似选择排序,将数组分为两类,排序完成和排序未完成的,如图蓝色部分为排序完成的部分,白色为排序未完成的部分。每次排序过程将其中一个元素取出,与剩余元素比较,确定该元素的位置,如此遍历所有元素。由图分析可知插入排序在最糟糕情况下的时间复杂度为O(n2),平均时间复杂度为O(n2)。二. C++ 代码#include <iostream>using namespace std;vo

2021-01-28 22:32:54 242

原创 选择排序(Selection sorting)(C++)

一. 选择排序(Selection sorting)选择排序(Selection sorting) 是将数组内的数从依次比较,从中选出最小(或最大)的数与第一位数交换位置,放在首位,然后从下一位继续如此比较循环反复,知道得到正确的排序为止。由排序方法可知该过程将数组分为两部分,排序完成部分和排序未完成部分,如图,蓝色为排序完成部分,白色为未完成部分。由图分析可知选择排序是一种不稳定的排序算法,其时间复杂度最快为O(n),但绝大多数情况为最慢的情况,时间复杂度为O(n^2)。二. C++ 代码#i

2021-01-28 22:06:27 732

原创 队列(Queue)实现(C++)

一. 队列(Queue)队列(queue) 和堆栈相似,是一种可以存取的数据结构,不同的是队列的存取是在两个不同的方向进行的,因此其主要特征是先进先出(First-in-first-out,FIFO)头指针(front) 指向队列的第一个位置,数据的输出端尾指针(rear) 指向队列的最后一个位置,数据的进入端队列也可分为静态队列(Static Queue)和动态队列(Dynamic Queue)两类:Static Queue: 队列的大小固定,可以用数组实现;Dynamic Queue:

2021-01-28 18:26:50 9948 1

原创 堆栈(Stack)实现(C++)

一. 堆栈(Stack)堆栈(Stack) 是一种可以存取的数据结构,其主要特征是先进后出(Last-in-first-out, LIFO)栈顶(Top) 是最后入栈的数据堆栈可分为静态堆栈(Static Stack)和动态堆栈(Dynamic Stack)两类:Static Stack: 栈的大小固定,可以用数组实现;Dynamic Stack: 栈的大小随需要改变,可以用链表实现二. 基本操作(Basic Operation)入栈(Push):Equivalent to an in

2021-01-28 17:23:19 5763 3

原创 链表(Linked-List)实现(C++)

一. 链表(Linked-List):链表(linked list) :由一系列节点构成,每个节点满足以下条件:包含一段数据(任意类型);指向链表的下一个节点表头(Head):指向第一个节点最后一个节点指向 NULL定义一个链表可以定义两种结构体:Node 和 List二. 基本操作(Basic Operation):新建一个链表(constructor):List(void);摧毁一个链表(destructor):~List(void);判断链表是否为空(determine w

2021-01-28 12:35:58 1754

原创 大疆A型板使用经验分享(三)——时钟树配置和GPIO口配置

一.

2021-01-24 21:03:27 3440 1

原创 大疆A型板使用经验分享(二)——A型板原理图和引脚图

一.原理图二.引脚图

2021-01-21 18:12:54 5575 5

原创 大疆A型板使用经验分享(一)——A型板使用入门

写在前面这半年有幸得到了一些资金支持,决定尝试用大疆的配件做一些有意义的东西。但是真正开始使用的时候却遇到了很多问题,大疆的产品从硬件到软件方面都有很多让人迷惑的行为,而同时网上的参考资料也很少,这些都让我在前期使用的时候摸不着头脑。后期虽然这些问题都得到了解决,但也浪费了大量时间。于是打算把我们使用的经历和相关代码做一个分享,以便后续其他人的使用。如有错误,希望指正。一. 硬件部分介绍:这里我使用的是大疆提供的A型开发板,使用大疆产品有个缺点便是大疆的接口都是配套产品而非通用产品,一旦使用了大疆的产

2021-01-21 17:42:31 14928 5

原创 安路SparkRoad开发板EG4S20BG256在配置过程中遇到的问题总结

一. 驱动安装过程出现的问题1. 问题描述:在连接开发板过程中,通过JTAG接口与计算机USB接口通信,在设备管理器内可以找到,如下图所示:然而在更新驱动程序后,Anlogic usb的右下角出现了一个叹号,即没有连接成功:2. 问题解决:通过多方查找和请教dl,终于发现了问题出现的原因:驱动强制数字签名。因此需要禁用驱动程序强制签名,应进行如下操作:windows设置——更新与安全——恢复——高级启动重启后选择疑难解答——高级选项——启动设置——重启——按提示键7禁用驱动程序强制签名。

2020-10-08 09:09:47 3587 3

原创 树莓派Linux常用命令总结

Shell与Linux命令分类1. Shell:Shell是Linux系统中运行的一种特殊程序,在用户和内核之前充当翻译官,用户登录Linux系统时,自动加载一个Shell程序;Bash程序是Linux系统中默认使用的Shell程序,且文件位于/bin/bash2. Linux命令分类:- 内部命令:内部命令是集成于Shell命令解释器程序内部的一些特殊指令,属于Shell的一部分,没有单独对应的系统文件,自动载入内存,可以直接使用。- 外部命令:外部命令是Linux系统中能够完成特定功能的脚

2020-10-08 08:39:54 2489

原创 FPGA(二)——基于FPGA的UART收发模块设计

一. UART协议基本原理二. URAT收发模块的FPGA实现

2020-08-23 22:24:13 1732

原创 FPGA(一)——基于FPGA的CRC算法实现

一. CRC算法基本原理循环冗余检验(Cyclic Redundancy Check,CRC)模块,是数据通信中一种常用的,纠错能力很强的数据检错模块,,该检验编码常用于串行通信。CRC校验码的基本思想是利用线性编码的原理,在发送端根据要传送的k位二进制码序列,以一定规则产生一个校验用的监督码(CRC码)r位,并附在信息后面组成一个k+r位的发送码。在接收端,根据信息码和CRC码之间所遵循的规则进行检验,以确定传送过程是否出错。接收端处理方法通常有两种:计算k位序列的CRC码,与接受端的CRC比较,若

2020-08-14 22:18:40 7343 6

原创 NumPy常用函数——Python第三方库

关于Python第三方库NumPy:NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,提供了多维数组和矩阵的常用操作,同时也提供了一些高效的科学计算函数。NumPy可以直接完成数组和矩阵的运算,无需循环,同时其底层运算通过C语言实现,处理速度快效率高,适用于大规模多维数组运算。pip安装NumPy库:NumPy可利用pip方法进行安装:NumPy常用...

2020-02-14 19:46:29 750

原创 Python学习中出现的问题——cv2.imread()路径语法报错:SyntaxError: invalid syntax

问题描述:在python安装opencv第三方库后,使用cv2.imread()函数的时候不停报错,出现以下问题:提示语法有问题:SyntaxError: invalid syntax开始以为是函数本身的问题,但大量查阅资料后发现读入图片的函数本身没有使用问题:使用函数cv2.imread(filepath,flags)读入图片filepath:要读入图片的完整路径flags:读入图片...

2020-02-05 19:46:22 3940

原创 计算机问题处理杂记——'python -m pip install --upgrade pip'升级指令报错(pip快速安装第三方库)

python升级指令报错:本来是想安装第三方库,但是出现提示:于是便按照指令 'python -m pip install --upgrade pip’进行安装,结果尝试多次,都是在安装中途报错,显示如下:问题解决通过在网上查找相关原因时,发现问题的原因是pip安装虽然方便,但网络不稳定的话就会出现服务器连接超时。这时我们常用的方法便是利用国内镜像,即在命令行后面加上 “-i 指定源(...

2020-02-04 17:20:05 292

原创 计算机问题处理杂记——关于网络连接后,无法加载页面问题

近期电脑出现无线网络连接没有问题,但始终连接不上网的问题,通过以下方法得以解决:解决方法:在控制面板中找到网络和共享中心:选择属性:将Internet协议版本4和6内部均改成自动获取IP,网页便可正常打开:...

2020-02-04 11:58:38 327

原创 计算机问题处理杂记——cmd窗口显示pip不是内部或外部命令,也不是可运行的程序或批处理文件。

在python安装完成后尝试用pip方法安装第三方库时,在cmd窗口出现“pip不是内部或外部命令,也不是可运行的程序或批处理文件”的问题。解决方法:在控制面板——系统与安全——系统中选择高级系统设置:选择环境变量:系统变量中选择Path:可以看到,pip在Python\Python37-32\Scripts目录中:将Python\Scripts的位置添加到路径中:然后重新打...

2020-02-04 11:44:58 876

原创 脑电信号预处理(一)——去趋势化(Detrended fluctuation analysis)

一.简介由于脑电信号的不稳定性和不规则性,因此对脑电信号的处理也比较复杂,难以直接从中分析出内在联系。通常情况下会对信号做一定的预处理,通过这种粗糙的处理,可以得到具有一定规律的信号,便于后续的研究。下面介绍一种方法,去趋势化(Detrended Fluctuation Analysis),简称为DFA方法。这种方法在各个领域都有所适用,是对非稳态信号处理的一种常用方法,多用于气象信号,场信号...

2020-01-21 19:29:52 8256 2

原创 EEG脑电信号常用处理方法

一. 关于脑电信号今年中旬,在马斯克召开的发布会,其名下Neuralink 的脑机接口植入技术引发热议,脑-机接口(brain-computer interface, BCI)技术也成为了当前信息交互的研究热点,意念控制似乎离我们不再遥远,而脑电信号(electroencephalography, EEG)由于易操作性,安全性等特点,受到了科研工作者的广泛关注,如何准确得利用脑电信号来实现操控,...

2020-01-18 11:42:36 20778

原创 微信小程序初始界面设置密码

如何在微信小程序初始界面输入密码,看到网上给出了很多方法,较为常见的是如何输入一个六位密码。这里介绍一种小编觉得比较可行的方法,具体实现如下:最终效果:代码实现:wxml:<input class="inputBox" bindinput="saveInputValue" password='{{ispassword}}' placeholder="请输入密码" focu...

2019-09-30 08:37:13 10679 6

原创 学生成绩管理系统项目

近期完成了一项简单的对学生成绩管理系统的编写的代码,对过程中出现的一些想法和错误做一个简单的总结:1.总体思路:构建一个学生成绩管理系统,我们的希望实现的功能主要有:可以选择语言分为中英文,将对象分为三部分:学生,教师和教务处,三个部分分别实现不同的功能:学生只有查分功能,教师可以查取所有学生成绩,包括查阅平均分及格率等情况,教务处则是增加改分功能。2.实现过程:对于这个想法的实现,我们采...

2019-01-12 08:26:29 2234 1

Keil MDK.rar

KEIL5 安装包

2021-01-21

STM32 CubeMX.rar

STM32图形化配置

2021-01-21

TOM FINAL.rar

文件为纯C代码,调用EGE函数库设计的简易RPG小游戏,小组合作原创成果,仅供学习参考,希望对C语言实践课程的同学有所帮助

2020-02-17

空空如也

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

TA关注的人

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