摘要:
目录CAN是什么?CAN特点CAN连接拓扑CAN收发器基本特点CAN协议版本CAN 2.0与CAN FDISO CAN其他CAN标准CAN协议物理层CAN协议版本CAN 2.0与CAN FDISO CAN其他CAN标准CAN协议物理层帧类型数据帧遥控帧错误帧过载帧帧间隔位填充错误种类错误帧输出参考 阅读全文
摘要:
目录二维观察流水线裁剪窗口观察坐标系裁剪窗口规范化和视口变换裁剪窗口->规范化视口OpenGL二维观察函数OpenGL投影模式GLU裁剪窗口函数OpenGL视口函数GLUT显示窗口执行app(main loop)背景函数(idle function)查询系统参数裁剪算法点裁剪线段裁剪 二维观察流水线 阅读全文
摘要:
目录基本的二维几何变换二维平移二维旋转二维缩放矩阵表示、齐次坐标齐次坐标矩阵表示逆变换复合变换复合二维平移复合二维旋转复合二维缩放通用二维基准点旋转通用二维定向缩放二维刚体变换OpenGL几何变换函数基本OpenGL几何变换OpenGL矩阵操作 基本的二维几何变换 几何变换(geometric tr 阅读全文
摘要:
[TOC] # 椭圆特性 * 椭圆定义 椭圆:平面内到定点F1、F2的距离之和等于常数2a(2a>|F1F2|)的动点P的轨迹。 椭圆数学表达式: $$ \tag{1} |PF1|+|PF2|=2a $$ F1、F2称为椭圆的2个**焦点**,两焦点之间距离2c(|F1F2|=2c)称为**焦距** 阅读全文
摘要:
[TOC] # 问题背景 如何在屏幕上绘制一个圆? 可以先看看圆的特性,根据其特性决定如何绘制。。 * 圆的特性 圆定义:所有距离中心位置(xc, yc)为给定值r的点集。 圆的方程: $$ (x-x_c)^2+(y-y_c)^2=r^2 \tag{1} $$ * 根据圆的方程绘制圆 若沿着x轴从$ 阅读全文
摘要:
[TOC] Bresenham算法是图形学非常经典的光栅线生成算法,可用于显示直线、圆以及其他曲线。这里通过算法画直线过程,了解其工作原理。 # 问题描述 已知线段2端点$(x_0, y_0) (x_e, y_e)$,屏幕上画出该直线段。 由于屏幕是通过像素点显示的,只能通过像素点所在的整数坐标近似 阅读全文
摘要:
目录spdlog项目构成CMake构建根目录CMakeLists.txtcmake版本要求include专用cmake文件设置默认build类型编译器配置判断当前项目是否为spdlog选项开关 spdlog项目构成 Github源码:https://github.com/gabime/spdlog 阅读全文
摘要:
[toc] # section()函数简介 网上有很多关于Qt中字符串工具函数QString::section的描述,但大多描述不够清晰、直接。本文从官方文档入手,详细讲解如何使用section。 QString::section 可用来分隔字符串,与QString::split区别是:前者可只取指 阅读全文
摘要:
[TOC] # 题目 地址:[LeetCode 69. x的平方根](https://leetcode.cn/problems/sqrtx/) # 题目描述 给你一个非负整数 x ,计算并返回 x 的 算术平方根 。 由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 。 注意:不允许使 阅读全文
摘要:
[toc] 完成AUTOSAR系统级、ECU级、SWC级相关开发和代码生成后,需要进行代码集成与调试。本文对AUTOSAR工程代码架构、集成、编译链接、调试方法进行简单介绍。 # 工程代码架构、集成方法 一套完整的符合AUTOSAR规范的ECU代码主要包括: ①应用层SWC代码; ②运行时环境代码; 阅读全文
摘要:
[TOC] MCAL位于AUTOSAR架构最底层,与MCU内部及外设有关。该层作用:接收上层指令,完成对硬件的直接操作;获取硬件相关状态,反馈给上层,对上层屏蔽硬件相关特征,只提供对应的操作接口。 示例需要用到MCAL中MCU驱动(Microcontroller Unit Driver):GPT驱动 阅读全文
摘要:
[TOC] 根据AUTOSAR方法论,完成了系统级SWC设计,还需配置目标ECU(ECU级设计)。该阶段主要针对运行时环境(RTE)、基础软件层(BSW)模块的配置。BSW包含很多模块,可根据实际需求选择配置。 根据示例需求,A、B车灯控制器所用BSW模块: * 系统服务层中的操作系统(Operat 阅读全文
摘要:
[TOC] 可以先在系统级设计工具ISOLAR-A中设计SWC框架,包括端口接口、端口等,创建各SWC arxml描述文件;再将这些描述文件导入行为建模工具(Simulink)内部行为建模。 也可以先在行为建模工具中完成逻辑建模,再把生成的描述文件导入系统级设计工具中完成系统级设计与配置。 前面已经 阅读全文
摘要:
### 问题背景 在多任务实时操作系统(Real Time Multitask Operating System,简称multi-task RTOS)中,为实现多线程同时运行,OS需要实现一种多个任务之间的切换,即任务调度算法(或策略)。RTOS中,常见调度算法是优先级调度:每个任务(线程)分配一个 阅读全文
摘要:
[TOC] AUTOSAR软件组件级设计、开发针对应用层软件,有2种方法: 1)基于Matlab/Simulink进行应用层软件组件的模型建立,并配置生成符合AUTOSAR规范的arxml描述文件——”自上而下“的工作流程; 2)还有一种”自上而下“的工作流程。 # Matlab/Simulink与 阅读全文
摘要:
[TOC] # AUTOSAR案例示例 ## 需求 某整车厂有A型、B型两种车型,其中,A为低端车型,B为高端车型。现需为它们设计两款车灯控制器。 1)A:车灯开关打开,车灯点亮; 2)B:车灯开关打开,车灯根据外界光强情况自动调节亮度。 当车灯开关关闭时间 > 5min,关闭车灯控制器的CAN通信 阅读全文
摘要:
[TOC] # AUTOSAR规范简介 ## OSEK/VDX标准 1993年,德国汽车工业界提出OSEK(Open Systems and the Corresponding Interfaces for Automotive Electronics ),中文名汽车电子开放式系统及其接口标准。该体 阅读全文
摘要:
目录简介源码解析基础类日志库网络库 简介 muduo库是陈硕开发的Linux多线程事件库,适用于Linux服务器编程。 Github地址:https://github.com/chenshuo/muduo 文档介绍:https://book.douban.com/subject/20471211/ 阅读全文
摘要:
目录意义问题用命令模式解决电机控制与输入信号耦合问题与标准命令模式的区别异同 意义 先说结论:命令模式能有效对代码模块进行解耦,增强模块的扩展性以及可移植性。 问题 为了方便说明问题,假设现在有一个电机Motor,在识别到外界信号后,通过软件控制其旋转。需要支持的旋转方式为3种:正转、反转、振动。 阅读全文
摘要:
目录库介绍项目构建源码解析 库介绍 spdlog库笔记 (一):简介 spdlog库笔记 (二):编译、安装 项目构建 spdlog日志库源码:CMake构建项目 源码解析 spdlog日志库源码:线程池thread_pool spdlog日志库源码:异常类spdlog_ex spdlog日志库源码 阅读全文