自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 基于Gerrit的一些git命令

gitrestore--stagedUser/misc/src/miscfunc.c删除更改miscfunc.c。第一次上传gitpushoriginmasterrefs/for/master。然后再gitpushoriginmasterrefs/for/master。gitadd***(User/main.c)添加更改main.c。如果相关的更新会和我们会用到或者发生了冲突,那么必须要做更新。1gitstash保存本地的更改。获取密码(记得保存)...

2022-07-25 15:26:24 1236 1

原创 python(二)

切片取一个list或tuple的部分元素是非常常见的操作。我们可以需要用到循环甚至一个一个取得到列表中的数据,但是用到切片,这一切将变得简单下面取了列表中的第2,3项L = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack']L[1:3]结果['Sarah', 'Tracy']这里是对1-100的数字每隔10倒序输出to_one_hundred = range(1, 101)# Add your code below!backwards_by_

2022-04-22 18:29:12 1019

原创 通过项目学习Python(一)

用Python写一个简单的学生成绩管理Python 列表Python 条件判断和循环条件判断循环Python 字典Python 函数利用上面的内容实现包含3位同学的成绩管理Python 列表Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。这是一个简单的列表,列表里面有3个元素students = [lloyd, alice, tyler]用len函数来获取列表的个数len(students)通过列表的索引来访问列表print stu

2022-04-20 13:58:11 1163

原创 FreeRTOS 任务管理

FreeRTOS 任务管理任务函数顶层任务状态创建任务例1 创建任务示例1示例2例 2. 使用任务参数任务优先级时间测量和滴答中断例3 优先级实验扩展“不运行”状态阻塞态(Blocked)挂起态(Suspended)就绪态(Ready)完成状态转换图例4 利用阻塞态实现延迟任务函数任务是由 C 语言函数实现的。唯一特别的只是任务的函数原型,其必须返回 void,而且带有一个 void 指针参数。void ATaskFunction( void *pvParameters );每个任务本身就是一个小

2022-02-23 23:35:23 1347

原创 FreeRTOS(进阶)

挂起 恢复相关API挂起恢复外部中断恢复中断列表与列表项初始化列表初始化列表项插入列表项删除列表项尾部插入列表项任务查询与信息统计得到任务优先级得到任务状态获取当前任务的任务句柄堆栈历史剩余最小值任务状态创建表格显示详细信息

2022-01-20 19:14:28 1509 1

原创 Linux下实现Freertos模拟器

Linux下实现Freertos模拟器1.下载源码2.创建文件夹3.往文件夹内添加文件4.Makefile编写5.编译运行1.下载源码Freertos官网2.创建文件夹一共三个文件夹FreeRTOS_Kernel,inc,src3.往文件夹内添加文件(1)FreeRTOS_Kernel进入FreeRTOSv202111.00\FreeRTOS\Sourceinclude目录中全部拷贝过来.c文件只需要拷贝croutine.c, list.c, queue.c以及tasks.c即可。

2022-01-12 23:14:52 1910 4

原创 FreeRTOS(基础)

FreeRTOS(基础)基本概念ROTS可剥夺内核FreeRTOS 特点为什么学习FreeRtosFreeRTOS资料与源码下载Freertos移植基本概念ROTSRTOS全称:Real time OS,就是实时操作系统,强调的是:实时性。实时操作系统又分为软实时和硬实时。硬实时要求在规定时间内必须完成操作,硬实时不允许超时,软实时里面处理过程超时的后果就没有那么严格。在实时操作系统中,我们可以把要实现的功能划分为多个任务,每个任务负责实现其中的一部分,每个任务都是一个很简单的程序,通常是一个死循环

2022-01-10 11:43:38 4336 1

原创 rfc6206 涓流算法

涓流算法涓流算法的介绍,作用涓流算法的实现参数和变量算法描述涓流算法的介绍,作用涓流算法允许有损共享介质(例如,低功耗和有损网络)中的节点以高度健壮、节能、简单和可扩展的方式交换信息。当节点的数据与其邻居不一致时,该节点将快速通信以解决不一致性(例如,以毫秒为单位)—— 快速传播更新。当节点同意时,它们会以指数方式降低通信速率,这样节点就很少发送数据包(例如,每小时发送几个数据包)—— 非常低的维护开销。涓流处理网络重新填充;对网络瞬变、损耗和断开具有健壮性;易于实现;只需要很少的状态。可应用于广泛的

2021-12-20 17:20:02 530

原创 c++ 引用 函数重载

c++ 引用引用的定义引用注意事项引用做函数返回值引用的实质引用与指针的区别引用的定义语法格式:类型名 &外号 = 变量名;1 引用的实质是对一个内存空间起别名2 引用的东西与原来的东西就是完全一样的东西。不管是变量对应的值,还是地址,还是地址的偏移量,都是一样的。引用注意事项1 引用必须初始化2 引用在初始化后,不可以改变#include<iostream>

2021-10-08 00:00:54 680 1

原创 递归与快速排序

递归与快速排序递归递归必须满足的三个条件递归和循环的优缺点比较递归的应用简单的递归汉诺塔使用递归思想实现快速排序递归递归必须满足的三个条件1 递归必须得有一个明确的终止条件2 该函数所处理的数据规模必须在递减3 这个转化必须是可解的递归和循环的优缺点比较递归:易于理解 速度慢 存储空间大循环:不易理解 速度快 存储空间小递归的应用树和森林就是以递归的方式定义的树和图的很多算法都是以递归来实现的很多数学公式就是以递归的方式定义的简单的递归#include <stdio.h

2021-10-07 21:31:19 228

原创 树 二叉树

树 二叉树树定义树的分类树的存储二叉树的遍历已知两种遍历序列求原始二叉树树的简单实现树定义1.树是由节点和边组成。2.每个节点只有一个父节点但可以有多个子节点3.但有一个节点例外,该节点没有父节点,此节点称为根节点。树的分类一般树:任意一个节点的子节点的个数都不受限制,子节点的顺序可以更改也可以不能更改,能更改的树为无序一般树,不能更改的为有序一般树二叉树:任意一个节点的子节点个数最多两个,且子节点的位置不可更改,即左子树和右子树的位置不可更改。满二叉树:在不增加树的层数的前提下,无法再多

2021-10-06 11:20:42 330

原创 数据结构(栈与队列)

栈与队列栈与队列的区别动态栈链式队列栈与队列的区别区别1 队列先进先出,栈先进后出(栈类似于箱子)2 对插入和删除操作的限定不同栈是限定只能在表的一端进行插入和删除操作的线性表队列是限定只能在表的一端进行插入,在另一端进行删除操作的线性表3 遍历数据速度不同栈只能从头部取数据,也就最先放入的需要遍历整个栈最后才能取出来,而且在遍历数据的时候还得为数据开辟临时空间,保持数据在遍历前后的一致性。队列则不同,它基于地址指针进行遍历,而且可以从头或尾部开始遍历,但不能同时遍历,无需开辟临时空间,因

2021-10-05 01:08:41 148

原创 32入门——基于震动感应灯

32入门——基于震动感应灯搭建环境寄存器点灯编写程序烧录程序固件库点灯(闪烁)STM32的8种GPIO输入输出模式搭建环境1 安装应用程序 (不使用自带的程序包)2 安装芯片包寄存器点灯编写程序main.c#include "stm32f10x.h"void SystemInit(){ //编译器不报错}int main(){ //1.使能GPIOC的时钟 起初地址 0x4002 1000 RCC_APB2 |= 0x01 << 4; //2.配置

2021-09-16 15:20:20 479

原创 linux内核开发(基础)

linux内核开发(基础)树莓派等芯片带操作系统的启动过程树莓派Linux源码目录树分析tree指令大概了解具体内容文件系统树莓派等芯片带操作系统的启动过程x86,Intel windows启动过程: 电源 -》 BIOS -》windows内核-》C,D盘-》 程序启动(QQ)嵌入式产品: 树莓派,mini2440, mini6410,nanopi,海思,RK(瑞芯微)------人脸识别打卡器,智能家居主控。。。启动过程: 电源-》BootLoader(引导操作系统启动)-》Linux

2021-09-13 23:54:56 1851

原创 函数指针数组与回调函数

函数指针数组与回调函数函数指针数组及应用指针数组数组指针函数指针函数指针数组用函数指针数组输出最大值,最小值,和三目运算法回调函数及应用回调函数(常与函数指针连用)用回调函数实现选择(取最大值 取最小值 取和)函数指针数组及应用指针数组首先从名字就可以知道这是一个数组,是存放指针的数组。因为 [ ] 的优先级是高于 * 的,所以数组名会先于 [ ] 相结合组成数组。 再于 int * / char *类型结合,组成存放该类型的数组。int *p1[10];char *p2[5];char **

2021-08-16 00:38:55 319

原创 const 修饰符

const 修饰符前言const 变量指向 const 变量的指针const 指针前言const关键字是一种修饰符。所谓“修饰符”,就是在编译器进行编译的过程中,给编译器一些“要求”或“提示”,但修饰符本身,并不产生任何实际代码。就 const 修饰符而言,它用来告诉编译器,被修饰的这些东西,具有“只读”的特点。const对于最终代码没有影响,但是尽可能使用const,将帮助我们避免很多错误,提高程序正确率。const 变量1 const 变量指的是,此变量的值是只读的,不应该被改变。2 如果我

2021-06-20 20:14:41 1226

原创 安卓 网络编程

安卓 网络编程Socket服务端客户端服务端客户端安卓Socket客户端1——实现类似前后左右控制小车MainActivity.javaTest.javaactivity_main.xml效果实现倒计时(通过Handler)安卓Socket客户端2——显示服务端发来的数据能不断刷新MainActivity.javaTest.javaactivity_main.xmlSocket服务端客户端安卓Socket服务端开发注意事项:网络访问不能在主线程(UI线程)中进行,否则程序会崩溃要创建线程来发起网络访

2021-06-08 16:27:08 687

原创 安卓 按键响应与页面跳转

安卓 按键响应与页面跳转按键响应的几种方式在xml中设置按键的onClick绑定的函数按键响应的几种方式在xml中设置按键的onClick绑定的函数<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" androi

2021-06-06 14:56:56 460 2

原创 安卓 相对布局与线性布局

安卓布局布局的种类布局的种类六大布局:线性布局LinearLayout,相对布局RelativeLayout,表格布局TableLayout,层布局FrameLayout,绝对布局AbsoluteLayout,网格布局GridLayout。<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"

2021-06-05 17:03:51 386

原创 第一个安卓工程

第一个安卓工程安卓工程构建及运行安卓的工程目录文件夹介绍安卓APP启动过程安卓工程构建及运行1 包名不能包含中文2 使用MuMu模拟器 eclipse和MuMu建立连接adb connect 127.0.01:75553 如果3.连接失败要重启adb: adb kill-server,adb start-server如果cmd一直使用adb不认识 配置环境变量4 运行 工程名字上右键 run as android appclication安卓的工程目录文件夹介绍src: 存放java代码

2021-06-03 22:53:04 156

原创 JAVA 多态 异常 泛型

JAVA 多态 异常 泛型多态多态多态性是指同一个操作作用于某一类对象,可以有不同的解释,产生不同的执行结果

2021-06-01 15:59:32 139

原创 JAVA 抽象 接口 内部类

JAVA 抽象 接口 内部类抽象模板方法模式接口成员内部类匿名内部类抽象抽象类JAVA中可以定义没有方法体的方法,该方法由子类来具体实现。带没有方法体的方法我们称之为抽象方法,含抽象方法的类我们称之为抽象类抽象方法的特点只有方法头没有方法体的方法称为抽象方法抽象方法由abstract来修饰抽象方法代表一种不确定的操作后行为抽象方法不能调用抽象类的的特点定义中含有抽象方法的类叫做抽象类抽象类用abstract来修饰 不能实例化抽象类代表一种抽象的对象类型的后向类有具体方法, 可

2021-05-24 00:24:23 115

原创 JAVA 继承

JAVA 继承继承的实现super关键字方法重写object常见方法吃鸡简单工厂模式继承的实现java继承背后的思想是:基于已存在的类来构建新类。当从已存在类继承时,就重用了他的方法和属性,还可以添加新的方法和属性来定制新类以应对要求。继承的意义:代码重用,体现不同抽象层次约定:从其他类导出的类叫做子类,通常父类更通用更抽象,子类更特殊更具体。在java中,除了object外,所有类都是子类,都只有唯一的父类,即为object。package com.linruimiao.learn;cla

2021-05-23 00:43:47 65

原创 JAVA 封装

JAVA 封装封装的概念UML类图构造方法this关键字的使用static关键字的使用方法重载包封装的概念信息隐藏,隐藏对象的实现细节,不让外部直接访问到属性可用来描述同一类事物的特征,方法可描述一类事物可做的操作。封装就是把属于同一类事物的共性(包括属性与方法)归到一个类中,加上具体事项的隐藏(访问修饰符)以方便使用。访问修饰符1:public只有当前类、同一包内、子孙类(同一包)、子孙类(不同包) 其他包都能够访问2:protected其他包不能够访问3:default子孙类(不同包

2021-05-20 23:05:32 76

原创 基于祥云ocr人脸识别开发

基于祥云ocr人脸识别开发#include <unistd.h>#include <stdio.h>#include <curl/curl.h>#include <string.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <stdlib.h>typedef unsigned int bool;

2021-05-20 13:15:03 287

原创 JAVA基础

文章目录JavaSE、JavaEE、JavaME之间的区别概述JRE JDK数据类型 选择 循环数组方法输入加减计算器找最大最小值JavaSE、JavaEE、JavaME之间的区别概述Java分三个版本:JavaSE(标准版)、JavaEE(企业版)、JavaME(微型版)。Java SE(Java Platform,Standard Edition)。Java SE 以前称为 J2SE。它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的 Java 应用程序。Java SE 包含了支持

2021-05-19 22:48:19 56

原创 基于libcurl库访问百度

基于libcurl库访问百度libcurl简介libcurl函数libcurl编译方法访问百度libcurl简介ibcurl是一个跨平台的网络协议库,支持http, https, ftp, gopher, telnet, dict, file, 和ldap 协议。libcurl同样支持HTTPS证书授权,HTTP POST, HTTP PUT, FTP 上传, HTTP基本表单上传,代理,cookies,和用户认证。库下载 https://github.com/curl/curl/releases/t

2021-05-19 00:04:29 311

原创 Http协议与https

HTTP 协议前言http协议的请求http协议的响应前言http协议是建立在TCP/IP协议之上应用层协议,默认端口为80,8080http协议的的特点是无状态,无连接http协议的请求http协议的报文传输的是ASCII码,在TCP/IP协议之上,主要主要分为三部分请求行、请求头、请求体请求行第一行,包含三个信息:请求方式,url,http协议版本GET 请求GET /books/?sex=man&name=Professional HTTP/1.1Host: www.ex

2021-05-18 23:00:35 336

原创 socket tcp http 三者之间的区别和原理

socket tcp http 三者之间的区别和原理网络七层模型TCP/IP连接SOCKET原理网络七层模型七层模型介绍1 物理层:线路、无线电、光纤、信鸽物理层负责最后将信息编码成电流脉冲或其它信号用于网上传输;RJ45等将数据转化成0和1;2 数据链路层:以太网、令牌环、HDLC、帧中继、ISDN、ATM、IEEE 802.11、FDDI、PPP数据链路层通过物理网络链路????供数据传输。不同的数据链路层定义了不同的网络和协 议特征,其中包括物理编址、网络拓扑结构、错误校验、数据帧序列以

2021-05-16 23:39:52 235

原创 C语言 链表

文章目录

2021-05-08 00:10:22 152

原创 c语言 结构体

文章目录为什么要用结构体结构体的定义和使用结构体指针为什么要用结构体但是在实际问题中只有这些数据类型是不够的,有时候我们需要其中的几种一起来修饰某个变量。这些数据类型都不同但是他们又是表示一个整体,要存在联系,那么我们就需要一个新的数据类型。结构体,他就将不同类型的数据存放在一起,作为一个整体进行处理。结构体的定义和使用#include <stdio.h>#include <stdlib.h>void func(int data){ printf("函数: data

2021-05-06 19:59:29 119

原创 c语言 字符串

文章目录字符串几种常用的API自己实现一些api字符串定义的几种格式和整型数组略像 char str[] = “abcdefghijklnmopq”;一般用char *p =“hello”字符数组的存储方式不能用sizeof来计算字符串中的有效个数(比实际多一个)应该用strlen 在计算字符串个数时 遇到’\0’ 就结束计数几种常用的API1.输出字符串puts();printf("%s",p);2.获取字符串gets();scanf("%s",p)3.计算长度strlen

2021-05-05 20:12:29 174

原创 c语言 数组 指针

文章目录数组数组数组的基本使用数组定义: 类型 数组名 数组大小 int array[10]数组单独访问:数组的中括号[] 只有在定义一个数组的时候,才表示数组大小,其余任何情况,都表示用下标来访问数组循环的方式遍历数组#include <stdio.h> #include <stdlib.h> int main(){ int i; in

2021-05-03 16:07:58 401

原创 c语言 函数 选择 循环

文章目录函数选择 循环选择循环自制计算机函数1 什么是函数:函数是一个功能模块,它把实现某个功能的代码块包含起来,并起一个函数名,供别人调用,如printf函数,如system函数。是程序运行当中包装起来的一个步骤2 为什么用函数:代码很好看容易定位问题可复用强分工3 如何定义一个函数 int prepare():函数名形式参数返回值函数体:代码块4 如何调用一个函数函数名(实际参数)函数名();5 函数可以多级调用6 一般函数定义几种情况1. 无返回值无参数

2021-05-01 19:58:20 882

原创 交叉编译

文章目录交叉编译是什么为什么要交叉编译(不得已而为之)交叉编译是什么交叉编译 是在一个平台上生成另一个平台上的可执行代码。编译:是在一个平台上生成在该平台上的可执行代码如:1 我们再windows上面编写C51代码,并编译成可执行代码,如xx.hex,是在c51上面运行,不是在windows上面运行2 我们在ubuntu上面编写树莓派的代码,并编译成可执行代码,如a.out,是在树莓派上面运行,不是在ubuntu linux上面运行为什么要交叉编译(不得已而为之)1 因为目的平台上的资源贫乏

2021-04-28 19:11:39 292

原创 树莓派外设开发

文章目录

2021-04-26 23:33:09 198

原创 Linux 库

文章目录分模块编程库静态库动态库分模块编程好处 a.功能责任划分 b.方便调试 c.主程序简洁库使用GNU的工具我们如何在Linux下创建自己的程序函数库?一个“程序函数库”简单的说就是一个文件包含了一些编译好的代码和数据,这些编译好的代码和数据可以在事后供其他的程序使用。程序函数库可以使整个程序更加模块化,更容易重新编译,而且更方便升级。程序函数库可分为3种类型:静态函数库(static libraries)、共享函数库(shared libraries)、动态加载函数库(dynamically

2021-04-24 17:03:41 47

原创 树莓派环境搭建

文章目录刷机串口连接网络连接刷机软件:串口连接默认情况,树莓派的串口和蓝牙连接。想办法断开蓝牙连接,把串口用来数据通信1.打开SD卡根目录的"config.txt"文件,将以下内容添加在最后并且保存。dtoverlay=pi3-miniuart-bt2.然后再修改根目录的"cmdline.txt",将里面的内容全部替换成以下内容,以防万一,请先备份好这个文件的原内容。dwc_otg.lpm_enable=0 console=tty1 console=serial0,115200 root

2021-04-23 17:47:00 271

原创 socket网络编程

文章目录前言一、二、前言一、二、

2021-04-23 17:06:22 72

原创 linux 线程

文章目录前言线程互斥锁死锁条件前言多线程开发在 Linux 平台上已经有成熟的 Pthread 库支持。其涉及的多线程开发的最基本概念主要包含四点:线程,互斥锁,条件变量、读写锁。其中,线程操作又分线程的创建,退出,等待 3 种。互斥锁则包括 4 种操作,分别是创建,销毁,加锁和解锁。条件操作有 5 种操作:创建,销毁,触发,广播和等待。其他的一些线程扩展概念,如信号灯等,都可以通过上面的三个基本元素的基本操作封装出来。线程原型int pthread_create(pthread_t * ti..

2021-04-14 22:04:06 124

空空如也

空空如也

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

TA关注的人

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