自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 学习周报2104-01-02:Makefile教程学习

3 Writing Makefiles3.1 What Makefiles Contain3.2 What Name to Give Your Makefile3.3 Including Other Makefiles3.4 The Variable `MAKEFILES`3.5 How Makefiles Are Remade==3.7 How `make` Reads a Makefile==3.8 How Makefiles Are Parsed3.9 Secondary Expansion3.1

2021-04-06 09:36:43 190

原创 学习周报2104-01-01:Makefile教程学习

Makefile教程学习官方学习材料我们需要一个文件来告诉make去做什么、怎么做。一般来说,Makefile文件是要告诉make怎样编译和链接文件 。它的一般格式如下:#Sampletarget … : prerequisites … recipe … …target:通常是可执行文件或者目标文件的文件名,或者说是要执行的操作名称,比如说‘clean’prerequisite: file that is used as input to c

2021-04-04 22:27:23 153

原创 学习周报2103-02-3:Git clone特别特别特别特别慢的解决方法

在网站 https://www.ipaddress.com/ 分别搜索:github.global.ssl.fastly.netgithub.com得到这两个网址的ip:#ip以你得到的ip为准github.global-ssl.fastly.net 199.232.69.194 github.com 140.82.112.3 修改hosts文件sudo gedit /etc/hosts在打开的文件中粘贴你得到的两个ip,并保存3. 最后,重启下网络sudo /etc/i.

2021-03-14 16:12:18 214 2

原创 学习周报2103-02-2:Git实操——以Crazyflie-firmware为例

Git实操——以Crazyflie-firmware为例1. 将本地Crazyfile-firmware文件push到个人Github仓库`Crazyfile-firmware`2.clone项目到本地1. 将本地Crazyfile-firmware文件push到个人Github仓库Crazyfile-firmwarebitcraze@ubuntu:~/crazyflie-firmware$ git initReinitialized existing Git repository in /home/

2021-03-13 23:49:42 258

原创 学习周报2103-02-1:Git初学

廖雪峰老师Git教程廖雪峰老师Git教程之——创建版本库之前的无人机代码都是从官方github上拉取下来,这个拉取过程是虚拟机中已经写好的,并且官方gitgub文件下也有说明,所以根据说明简单操作下就好了。但是最近要做的内容是需要从我们实验室的Github账号上拉取代码,这我就不太会了(菜鸟的世界什么都不会)。在网上找了很多教程,但是我试了都没有成功,于是打算从头学一学。先从廖雪峰老师的教程一步一步做起。我的运行系统:虚拟机中的Ubuntu。首先根据廖老师的教程一步一步操作下来。遇到问题再去查

2021-03-12 11:23:20 243

原创 Crazyflie 2.0学习周报2103-01:OLSR路由协议基本原理

OLSR路由协议基本原理1. 协议简介1.1 最优链路状态路由协议2. 协议内容2.1 OLSR协议核心思想——MPR机制2.2 OLSR协议的分组2.2.1 HELLO控制分组2.2.2 TC(Topology Control)控制分组1. 协议简介1.1 最优链路状态路由协议协议特点:多中继节点(Multi Point Relay)机制:降低协议开销先应式路由计算:查找路由时延小最短路径:选择最短路径作为最优路径2. 协议内容2.1 OLSR协议核心思想——MPR机制节点选择部分邻

2021-03-07 13:59:28 1730

原创 完成“LPS node 与Crazyflie在TWR协议下的成功双向测距”实现心路历程总结

完成“LPS node 与Crazyflie在TWR协议下的成功双向测距”实现心路历程总结1.初识TWR协议2. TWR进阶1.03.TWR协议进阶2.04.TWR协议进阶3.05.TWR协议进阶4.06.总结说来惭愧,这一点点东西做了快3个月[手动狗头.jpg]但是这个协议的深入学习让我真正认识到研究生该怎样从零开始独自深入学习从未接触过的知识。一个人做科研确实很难。1.初识TWR协议暑假到9月中旬,在导师一点点引导下,我学习Crazyflie、TWR协议的一些基础知识。9月中下旬导师布置下来,希

2021-01-25 19:54:42 282

原创 Crazyflie 2.0学习周报19-4:串口&USB, UART&USART, UART&RS232的区别与联系

UART&USART, UART&RS232的区别与联系1. UART&USART1. 1 UART1. 2 USART1. 3 uart和usart的区别2. UART&RS232串口简单来说就是串行端口,什么是串行?与并行相对应,串行就是将一条数据线分时复用,在不同的时刻传递不同的数据,从而达到减少数据线的目的。如要发送0xAA=0b10101010,如果用8根数据线的并口,只需发一次即可,数据线7到0分别为:10101010。而如果用一根线,我需要先发0,然后发1,

2021-01-21 21:52:18 543

原创 Crazyflie 2.0学习周报19-4:回调函数与回调句柄及其在uwb.c中的应用

回调函数与回调句柄及其在uwb.c中的应用1、回调函数2、回调句柄3、回调函数与回调句柄在uwb.c中的应用1、回调函数知乎回答编程分为两类:系统编程(system programming)和应用编程(application programming)。所谓系统编程,简单来说,就是编写库;而应用编程就是利用写好的各种库来编写具某种功用的程序,也就是应用。系统程序员会给自己写的库留下一些接口,即API(application programming interface,应用编程接口),以供应用程序员使用

2021-01-21 20:01:44 353 1

原创 Crazyflie 2.0学习周报18-7:STM32之USB串口通信(三):通用同步异步收发器(USART)

通用同步异步收发器[USART]1. USART功能概述2.USART 特性描述3.发送器3.1 字符发送3.2可配置的停止位3.3 单字节通信4. 接收器4.1 起始位侦测4.1 字符接收4.3 断开符号4.4 空闲符号4.5 溢出错误4.6 接收期间的可配置的停止位5. 分数波特率的产生6. 校验控制1. USART功能概述接口通过三个引脚与其他设备连接在一起。任何USART双向通信至少需要两个脚:接收数据输入(RX)和发送数据输出(TX)。RX:接收数据串行输。通过过采样技术来区别数据和噪音,

2021-01-10 20:54:12 500

原创 Crazyflie 2.0学习周报18-6:STM32之USB串口通信[Universal Serial Bus](二)

USB串口通信之编程中需要考虑的问题1.分组缓冲区的结构和用途2.端点初始化3.IN分组(用于数据发送)4.OUT分组和SETUP分组(用于数据接收)5. 控制传输1.分组缓冲区的结构和用途每个双向端点都可以接收或发送数据。接收到的数据存储在该端点指定的专用缓冲区内,而另一个缓冲区则用于存放待发送的数据。 对这些缓冲区的访问由分组缓冲区接口模块实现, 它提出缓冲区访问请求,并等待确认信息后返回。 为防止产生微控制器与USB模块对缓冲区的访问冲突,缓冲区接口模块使用仲裁机制,使APB1总线的一半周期用于

2021-01-10 11:46:19 439

原创 Crazyflie 2.0学习周报17-6/7:lps node与上位机通信的串口配置

lps node与上位机通信的串口配置1. lps node串口配置2.lps-node-firmware固件代码分析3.下期预告二级目录三级目录1. lps node串口配置首先我们找到lps node中的串口配置代码,看看其串口配置。在lps-node-firmware固件的main.c中,找到一大串初始化配置代码://lps-node-firmware:main.c MX_GPIO_Init(); MX_I2C1_Init(); MX_USART1_UART_Init(); MX

2021-01-03 16:44:30 299

原创 算法学习(1.0):分治之算法原理

动态规划简介1.分治算法原理2.分析过程1.分治算法原理 分(Divide)–将问题划分为多个子问题 解(Conquer)– 求解各个子问题(递归调用子问题算法) 并(Combine)–合并子问题的解,形成原始解2.分析过程内容来自老师上课PPT...

2020-12-30 11:35:24 308

原创 Crazyflie 2.0学习周报17-3:STM32之USB串口通信[Universal Serial Bus](一)

USB全速设备接口1. USB主要特征符合USB2.0全速设备的技术规范可配置1到8个USB端点CRC(循环冗余校验)生成/校验,反向不归零(NRZI)编码/解码和位填充支持同步传输支持批量/同步端点的双缓冲区机制支持USB挂起/恢复操作符合USB2.0全速设备的技术规范帧锁定时钟脉冲生成注意:USB和CAN共用一个专用的512字节的SRAM存储器用于数据的发送和接收,因此不能同时使用 USB和CAN(共享的SRAM被USB和CAN模块互斥地访问)。2. USB功能描述

2020-12-30 10:31:31 322

原创 Crazyflie 2.0学习周报16-4:lps-node-firmware printf打印 底层代码梳理

/* Function required to use "printf" to print on serial console *///使用“printf”在串行控制台上打印所需的函数int _write (int fd, const void *buf, size_t count){ // stdout if (fd == 1) { #ifdef USE_FTDI_UART HAL_UART_Transmit(&huart1, (uint8_t *)buf, c.

2020-12-24 10:03:02 260

转载 Crazyflie 2.0学习周报16-3: 串口通讯详解及LPS node的USB通信

简介STM32—串口通讯详解1.物理层2.协议层3.物理层串口通讯(Serial Communication),是指外设和计算机间,通过数据信号线、地线等,按位进行传输数据的一种通讯方式。串口是一种接口标准,它规定了接口的电气标准,没有规定接口插件电缆以及使用的协议。1.物理层串口通讯的物理层的主要标准是RS-232标准,其规定了信号的用途、通讯接口及信号的电平标准,其通讯结构如下:设备内部信号是以TTL电平标准传输的,设备之间是通过RS-232电平标准传输的,而且TTL电平需要经过电平

2020-12-23 20:53:56 385

转载 Error:全局变量不明确(using namespace std 与全局变量的冲突)

[在用递归写八皇后时,定义了一个全局变量count,结果出现问题如下:提示全局变量不明确。最后发现在实现文件.cpp中,我使用了using namespace std;解决方法:1.使用count 的地方改成 ::count 替代(因为std命名空间下也有 std::count ,编译器不确定此处是::count 还是std::count,所以会不明确)2.注释掉这个命名空间3.或者改用 :using std::cout;using std::endl;using std::cin;思考

2020-12-20 11:17:36 2371 1

原创 3. Knapsack Problem With m Items At Most

#define INF 0xf0f0f0f0//-∞int sumValue = 0;void operationInKnapsack( int value, int m ){ int itemsInKnapsack[ m ]; // Record the value of M items with high value at present int count = 0; // Used for counting the first m times of array int flag=

2020-11-04 13:11:53 99

原创 关于Windows系统C盘扩容遇到的问题

我的电脑当时买的是128g的固态,没想到竟然够我用,但是当时分盘时分的不合理,导致最近电脑C盘快要挤爆了,但是D盘却还有20+G的空余空间。所以就想从D盘匀出10G给C盘,这样C、D盘都能够满足我的需求。

2020-06-18 10:30:17 3671

原创 牛客网刷题——深复制与浅复制问题

我们以对象的复制为例,解释深复制与浅复制的概念:例题from 《C++语言程序设计》郑莉第四版在线教学版例6_21#include <iostream>#include <cassert>using namespace std;class Point{public: Point() :x(0),y(0) { cout << "Default constructor called." << endl; } Point( int x

2020-05-19 17:15:37 318

原创 牛客网刷题——指针数组/数组指针

若有以下语句:int a[4][5],(*p)[5];p=a;下面哪个选项表示a数组中的元素?不看会后悔的超超超详细解析,一定要看!!!

2020-05-13 09:50:24 217

原创 牛客网刷题——虚析构函数的作用

今天刷题遇到一道题问虚构函数的作用,发现自己还真的没有思考过这个问题,赶紧记下来。我是题目,from牛客网。我发现我真傻,我竟然选择无意义,想想也不太对啊。看了答案之后查了一些解析:我是参考博客,讲解超详细!!!一定要看。总的来说,虚析构函数的作用是为了避免内存泄漏,但是只有当子类中有指针成员变量时才用得到。上述博客讲解巨详细,要多看。...

2020-05-12 10:23:11 175

原创 牛客网刷题——char*字符指针与整型指针问题/传地址调用

今天牛客网刷题遇到一道题,复制到VS中编译,发现了一些我以前一直忽略的问题。赶紧记录下来,不然要忘记了。刚开始我以为是传地址调用,因为*str是一个空指针,那么str当然是它的首地址啦,但是我输出str后发现结果是这样的:这里可能是因为str是一个空指针,所以我又直接给了str一个初值:发现运行结果跟我想的不一样啊,之前写的整型指针可不是这样的,于是我写了一个整型指针与其作对比:发现字符指针和其他类型的指针果然不一样(这里只验证了整型)。按照整型指针,*就是取值,*ptr就能够将ptr中的

2020-05-11 10:53:53 561

原创 Southeast University C++复试:2010

1、输入 n 个十进制数转换成二进制写到文件,n 是随机得到的2、写两个模板函数:插入排序法的迭代实现与递归实现3、字符串的解析.文件中有类似的一行行字符串“(010)(15012345678)|123|(430070)”,按以下格式输出: “区号| 电话号码| 城市编号| 邮编”4、设计一个多项式类 Polynomial(包括构造函数、复制构造函数、析构函数、赋值函数、 实现两个多项式相加)

2020-05-06 20:34:47 302

原创 牛客网刷题——虚函数/动态绑定

我是题目,from牛客网。结合高赞解析,总结下我的理解,不知道对不对,如果有问题,请评论指出。谢谢!Base* base = new Derived();1、上述语句首先定义了一个Base指针,指向一个Derived子类对象(此时该对象还没有被new出来);然后new一个Derived子类对象;2、该Derived子类对象首先调用基类Base的构造函数(输出Base),初始化基类的数...

2020-04-28 09:38:41 329

原创 《C++ 大学教程》8.5 使用const修饰指针

指针传递给函数有四种方式:指向非常量数据的非常亮指针:int* countPtr;//声明一个指向非常量数据的非常量指针,不需要包含const指向常量数据的非常量指针:const int * countPTR ;指向非常量数据的常量指针:int * const countPTR = &x;//始终指向同一个内存位置,通过该指针可修改这个位置上的数据。且声明为const...

2020-04-25 09:59:43 133

原创 《C++ 大学教程》10.2 const对象和const成员函数

1、程序员使用关键字const来指定对象是不可修改的,这样任何试图修改对象的操作都将导致编译错误。2、对于const对象,C++ 编译器不允许进行成员函数的调用,除非成员函数本身也声明为const(const对象调用非const成员函数将导致编译错误**,const对象只能调用const成员函数**)但是在构造函数中调用非const成员函数来初始化const对象是允许的。3、要将函数指定为c...

2020-04-24 22:36:35 179

原创 Southeast University C++复试:2018_03

写一个职工类,其中私有数据成员包括职工姓名name,职工号id,入职年月rznf,年度评分score(每年每个员工会得到一个分,是4-9之中的整数值,当得到第三个评分后,会判断是否加薪或辞退,然后清零这三个评分),员工月薪wages员工总数Total。成员函数有构造函数,析构函数,判断是否加薪(连续3年评分都大于等于9,则加薪10%),判断是否辞退(连续3年评分小于等于6,辞退)。再写一个友元函数...

2020-04-24 21:22:26 344

原创 《C++ 大学教程 》10.6 static类成员

1、非静态数据成员:每个类对象都有一个副本;静态数据成员:每个类有一个副本。2、类的static数据成员只在类的作用域起作用。基本类型的static数据成员默认为0。3、static数据成员只能且仅只能被初始化一次。Int或者枚举类型的const static数据成员可以在类定义中的声明处初始化。但是,所有其他static数据成员必须在文件作用域(即,类定义之外)进行定义和初始化。原因:(...

2020-04-24 20:44:14 206

原创 牛客网刷题——C++ 数组名作指针要注意的问题

在C++中,虽然数组名是一个指向数组首地址的指针,但是,数组名是一个常量指针,所以不能对数组名直接进行++操作。可以重新定义指针,指向数组首地址,对其进行++操作。#include <stdio.h>void main (void) { char *ptr; char a[] = "SF-TECH"; ptr = a; ptr++;// a++; ...

2020-04-24 10:55:10 196

原创 《C++大学教程》8.7 sizeof 运算符

1、返回数组的总字节数,返回值是size_t类型。2、在一个函数中使用sizeof运算符来获取一个数组参数的字节数,结果会得到一个指针的字节数,而不是一个数组的字节数。4、图中22行返回指针字节数4(double类型64bits = 4B),而不是数组大小5、sizeof是运算符而不是函数,在编译时起作用,在运行时不起作用。6、(引用于牛客网)类的大小只与成员变量(非stati...

2020-04-23 21:47:13 161

原创 牛客网刷题——传址调用/引用调用/值传递

传地址调用和传引用调用的区别相同点: 传引用和传地址,原理上都是将参数变量的地址传递给被调函数。所以在函数内部修改参数的值时,均可返回修改之后的结果给调用者。不同点:引用一定会指向一个对象,而指针可能为空(NULL); 传引用时,系统对传过来的参数不会有任何额外开销,直接使用原始变量的内存空间。传引用时,函数参数需要写做T&a; 调用函数时直接传递对象本身;在函数内赋值的时...

2020-04-17 08:29:27 269

原创 Southeast University C++复试:2011_01

#include <iostream>#include <iomanip>#include <cmath>using namespace std;double calculateE( int );int main(){ int expOfE; cout << " Enter the exception of e:"; ci...

2020-04-14 07:54:24 203

原创 C#:登录界面、账号注册及密码修改

这是所有的界面名,今晚有个傻室友对这个名字有疑问,我还是贴上来吧。1、登陆界面1.11.2、代码段public partial class Form1_login : Form { //定义连接数据库的字符串 public static string connStr = "User Id=mathilda;Passwor...

2019-04-10 19:26:54 12985 3

原创 VS2012连接Oracle数据库

1.下载ODAC(部分参考https://blog.csdn.net/m0_37521785/article/details/71605180)下载地址:http://www.oracle.com/technetwork/topics/dotnet/utilsoft-086879.html安装版本是ODAC 12c Release 4 and Oracle Developer Tools f...

2019-04-10 09:47:02 2164

原创 二分法的时间复杂度

查找算法中的“二分法”是这样定义的:    给定N个从小到大排好序的整数序列List[],以及某待查找整数X,我们的目标是找到X在List中的下标。即若有List[i]=X,则返回i;否则返回-1表示没有找到。    二分法是先找到序列的中点List[M],与X进行比较,若相等则返回中点下标;否则,若List[M]&gt;X,则在左边的子系列中查找X;若List[M]&lt;X,则在右边的子系列中...

2018-03-19 19:25:00 17163 1

空空如也

空空如也

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

TA关注的人

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