自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 十大经典排序算法

十大排序算法

2022-07-01 10:34:45 181 1

原创 智能车PID

马上要找工作了,最近在总结一些以前做过的项目,现在翻到17年做智能车的一些资料,想讨论一下PID。1 PID控制理论PID(比例-积分-微分控制器)是一种成熟而较为复杂的控制算法,在工业控制应用中最为常见的一种闭环自动控制技术。在智能车上应用PID算法能够显著地提高智能车的运行速度,减少完成时间。2.1 什么是PIDPID的全称为比例积分微分控制,P为比例,I为积分,D为微分。PID往往都是应用于惰性系统,所谓惰性系统,就是变化较慢且无法精确控制和调节的对象。最经典的控制对象就为温度的控制。下面举一个简单

2022-06-26 20:21:53 7929

原创 嵌入式RTOS

在嵌入式应用领域,很多场合对系统的实时性要求严格,因此操作系统的选择要基于实时系统。实时多任务操作系统(Real Time Operating System,简称RTOS)是根据操作系统的工作特性而言的,实时是指物理进程的真实时间。1、RTOS的特点操作系统是计算机中最重要的软件,类似管家,把不同的软件任务安排给硬件资源去执行。为保证服务质量,需要对任务进行合理安排,访问硬件也进行一定的安全维护,保证硬件资源不闲置,不争抢冲突,但允许合理的插队。2、任务设计嵌入式系统的设计都是从需求分析开始,在软件角度,对

2022-06-22 22:32:51 824

原创 C++核心编程(3)

3 函数提高3.1 函数默认参数在C++中,函数的形参列表中的形参是可以有默认值的。语法:返回值类型 函数名 (参数 = 默认值){}#include<iostream>using namespace std;//默认函数参数//如果我们自己传入数据,就用自己的数据,如果没有,那么用默认值//语法:返回值类型 函数名(形参 = 默认值){}int func(int a, int b = 20; int c = 30){ return a + b + c;

2022-03-29 21:26:37 96

原创 嵌入式软件开发常用的三种架构

1、前后台顺序执行法这是初学者常用的程序设计方案,不用考虑太多东西,代码简单,对系统是整体实时性和并发性要求不高。初始化后通过while(1){}或for(;;){}循环不断调用自己编写完成的函数,也基本不考虑每个函数执行所需要的时间,大部分情况下函数中都存在毫秒级别的延时等待优点:对于初学者来说,这是最容易也是最直观的程序架构,逻辑简单明了,适用于逻辑简单,复杂度低的软件开发。缺点:实时性低,由于每个函数或多或少存在毫秒级别的延时,即使是1ms,也会造成其他函数间隔执行时间的不同,虽然可通过定

2022-03-25 17:02:00 5143

原创 C++核心编程(1)

该部分主要针对C++面向对象编程技术做讲解,探讨C++的核心。1 内存分配模型C++程序在执行时,将内存大方向划分为4个区域代码区:存放函数体的二进制代码,由操作系统进行管理 全局区:存放全局变量和静态变量以及常量 栈区:由编译器自动分配释放,存放函数的参数值、局部变量等 堆区:由程序员分配和释放,若程序员不释放,程序结束时由操作系统回收...

2022-03-19 20:29:21 60

原创 C++实现通讯录管理系统

1、系统需求添加联系人:向通讯录中添加新人,信息包括姓名、性别、年龄、联系电话、家庭住址,最多记录1000人 显示联系人:显示通讯录中所有联系人信息 删除联系人:按照姓名删除指定联系人 查找联系人:按照姓名查看指定联系人信息 修改联系人:按照姓名重新修改指定联系人 清空联系人:清空通讯录中所有信息 退出通讯录:退出当前使用的通讯录2、创建项目3、菜单功能功能描述:用户选择功能的界面步骤:封装函数显示该界面 在main函数中调用封装好的函数#include<ios

2022-03-15 16:42:50 1553 1

原创 零基础学习C++(5)

5 数组5.1 概述所谓数组,就是一个集合,里面存放了相同类型的数据元素。特点1:数组中的每个数据元素都是相同的数据类型特点2:数组是由连续的内存位置组成的5.2 一维数组5.2.1 一维数组定义方式1. 数据类型 数组名[数组长度];2. 数据类型 数组名[数组长度] = {值1,值2 ...};3. 数据类型 数组名[] = {值1,值2 ...};#include<iostream>using namespace std;int main()

2022-03-01 20:24:57 826 1

原创 CAN总线扩展帧

很久很久没有学习了,然后脑子突然蹦出一个问题,为什么CAN总线还会有扩展帧呢,然后自己给自己解答了。这样设计可以大大增加帧ID的范围。

2022-02-19 21:02:44 738

原创 零基础学习C++(0)

变量作用:给一段指定的内存空间起名,方便操作这段内存。语法:数据类型 变量名 = 变量初始值;常量作用:用于记录程序中不可更改的数据C++定义常量两种方式1. #define 宏常量:

2022-01-18 17:43:14 382

空空如也

空空如也

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

TA关注的人

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