- 博客(10)
- 收藏
- 关注
原创 智能车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关注的人