自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(120)
  • 资源 (3)
  • 收藏
  • 关注

原创 chhttty个人博客总目录

博主会定期更新博客,记录自己工作、学习过程中的一些思考。对于理论性的内容,博主会根据自己的理解表述出来,如果理解有误,欢迎指出。对于应用性的内容(比如模型仿真、生成代码、脚本编程),博主会尽量把流程写清楚,并展示脚本运行结果或生成代码结果,达到一个可验证和可复现的效果。

2020-04-19 16:43:14 41086 39

原创 Simulink代码生成:关系运算与逻辑运算

本文研究了关系和逻辑运算模块,在实践中常常和条件判断一起用。>>返回个人博客总目录。

2024-08-31 10:30:08 536

原创 Simulink代码生成:数学运算

本文研究了Math Function模块、Trigonometric Function模块和Abs模块的用法,在实践中使用的频率是比较高的。>>返回个人博客总目录。

2024-08-03 11:24:08 1121

原创 Simulink代码生成:基本算数运算

本文研究了在Simulink中进行基本的算术运算的模块及其代码,这些在建模中是最常见的。>>返回个人博客总目录。

2024-07-31 21:58:40 1086

原创 Simulink代码生成: 基本模块的使用

本文讲了一些基本模块的使用,其实之前已经写了大量的Simulink内容,但是忽略了最基本的东西,所以回来补充一下。>>返回个人博客总目录。

2024-07-27 11:03:50 1753

原创 Simulink代码生成: 基本数据类型

本文研究了Simulink中的浮点型(double、single)、整型(int8、uint8等)和布尔型数据类型。建模时需注意浮点数比较的精度、整数溢出问题以及布尔类型的位域优化,以提升模型效率和可靠性。返回个人博客总目录。

2024-06-19 20:35:39 2754 1

原创 Simulink代码生成: 状态机的其他建模方法

本文总结了一些状态机的其他建模技巧。>>返回个人博客总目录。

2024-06-18 13:09:12 1072

原创 Simulink配置:模型诊断配置

本文介绍了模型诊断配置,通过配置一部分诊断项为error后,有助于工程师减少开发中的问题,并且规范开发流程。>>返回个人博客总目录。

2024-06-15 15:40:32 1877

原创 Matlab编程技巧:导入MDF文件

本文研究了如何用脚本解析MDF文件,将其中的信号回灌到Simulink模型中进行仿真。>>返回个人博客总目录。

2023-12-25 20:59:30 1787 2

原创 Simulink建模:PID控制-应用

本文总结一些工作中在使用PID控制时积累的经验。>>返回个人博客总目录。

2023-09-16 10:04:41 2696

原创 C语言编程:最小二乘法拟合直线

本文本文研究通过C语言实现最小二乘法拟合直线。在工程应用中,一次和二次多项式的拟合用的比较多。二次多项式拟合可以参考一次的推导过程和编程过程,需要求解三阶行列式求解三个系数。>>返回个人博客总目录。

2023-08-15 20:45:38 2290

原创 C语言基础:预处理指令的使用

通过#define可以定义一个宏,预处理阶段的时候,如果在代码中遇到一个宏,就会将其替换成宏所对应的内容。函数输入半径,返回圆的面积。其中用到了圆周率,直接将数值3.14写道代码中。这样的数字被称为“魔法数字”。正确的做法是将其定义为一个宏,然后在函数中使用这个宏。3.14这样做有两个好处,首先,其他人阅读代码的时候,对于数字很难理解其中的含义,但是宏定义是可以从字面上知道意义的,可以增加代码的可读性。

2023-07-23 09:34:40 531 1

原创 C语言编程:坐标系的平移和旋转

本文总结博主在工作中遇到的坐标系转换相关问题,以及C语言编程实现。

2023-07-02 22:01:33 3070 1

原创 C语言基础:指针的使用

本文中列举了C语言中指针使用的一些常见场景。

2023-06-24 20:39:25 4490 2

原创 C语言基础:static的使用

本文研究三种static关键字的使用方法。

2023-05-17 20:23:46 3052 1

原创 仿真与测试:单元测试与Test Harness

本文描述单元测试的概念,以及Test Harness建立的方法和简单的单元测试过程。。

2023-04-02 11:26:04 6828 2

原创 Simulink建模:PID控制-串级PID

本文研究串级PID控制的概念、应用场景以及Simulink模型实现。

2023-03-12 16:28:01 6317 5

原创 Simulink建模:如何学习Simulink建模

本文介绍博主自己学习Simulink建模的方法。

2023-02-26 20:41:34 9113

原创 仿真与测试:通过Signal Builder模块生成输入信号

本文研究通过Signal Builder模块生成输入信号的方法,这种方式比较适合简单的子系统测试,或者一些实际情况下不容易达到的边界条件输入的测试。目录。

2023-02-12 21:06:51 6173

原创 CubeMX配置:定时器中断及串口配置

本文记录了CubeMX配置定时器中断及串口打印的过程,这是玩转开发板的第一步。

2023-01-14 10:30:41 2520

原创 Simulink代码生成: Switch模块及其代码

在Simulink中Switch模块比较简单也比较常用,需要掌握好它的用法。

2022-12-23 15:25:47 12771 1

原创 CubeMX配置:FreeRTOS及串口配置

本文记录了CubeMX配置时钟及串口打印的过程,这是玩转开发板的第一步。

2022-12-10 11:35:04 1967 1

原创 Simulink建模:CRC校验模型

本文研究CRC校验的Simulink模型及其代码生成。

2022-12-05 21:55:39 5624 3

原创 Simulink建模:位运算

本文研究Simulink中常用的按位运算的建模方法。

2022-10-31 20:52:59 13616 4

原创 Matlab编程技巧:通过Matlab管理git

本文简单地描述了在Simulink中操作git常用指令地方法。

2022-10-23 19:27:29 4366 1

原创 Simulink建模:LKA系统功能状态机建模

本文通过LKA状态转移,研究Stateflow稍微复杂地用法。

2022-08-17 20:56:09 5283 7

原创 Simulink代码生成: 可变子系统及其代码

可变子系统可以通过判断条件,来决定内部执行不同的逻辑,生成代码也可以生成宏的形式。

2022-07-20 21:04:35 4101 3

原创 建模规范:命名规范

本文研究MAAB建模规范中的命名规范,同时结合工作实际谈谈博主的理解。本文参考的MAAB规范版本是Version 5.0。文章目录1 命名规范2 命名规范内容2.1 基本规则2.2 企业命名规范1 命名规范命名规范是第一个在MAAB中定义的规范,其中规定了文件夹,模型,变量,接口等应该如何命名。2 命名规范内容2.1 基本规则1)在命名规范中,可以对模块、信号等命名使用的字符只能是以下几种:英文字母大小写:a-z, A-Z阿拉伯数字:0-9下划线:_2)除此之外,都不可以用于命名。例

2022-07-04 19:55:40 4413

原创 建模规范:环境设置

本文描述MAAB建模规范的意义,同时研究一下环境设置规范。

2022-06-25 10:01:07 3321

原创 Simulink代码生成: 简单状态机及其代码

文章目录1 Simulink中的Chart模块2 状态机建模3 模型仿真4 代码生成5 总结本文研究简单的状态机建模及其生成的代码。1 Simulink中的Chart模块Chart模块用于描述状态之间的跳转关系,在汽车软件开发过程中经常用到。在状态机中需要定义状态、状态间跳转条件、输入输出及本地变量等。本文会用一个简单的例子来研究状态机建模,并通过生成的代码了解其中的原理。2 状态机建模假如现在有一个需求,车速高于某个值的时候,输出变量为运动状态,低于该值的时候为静止状态。针对该问题第一反应是用

2022-05-28 13:19:28 14874 5

原创 Simulink代码生成: 查表模块及其代码

本文描述查表模块的建模并研究生成的代码。文章目录1 Simulink中的查表模块2 查表模块示例模型2.1 设置Table and Breakpoints2.2 设置Algorithm2.3 设置DataType2.4 简单仿真3 代码生成4 总结1 Simulink中的查表模块查表模块中定义了断点和查表值(都是数组)的对应关系,然后通过输入数值在断点中的位置,“查出”对应在查表值中的数值,然后输出。查表模块是汽车软件开发中的一种常用的模块,因为在实际工作中,很多物理量之间的对应关系是难以用数学公式

2022-05-25 15:32:02 13474 3

原创 Simulink代码生成:生成C++类

博主最近在工作中用Simulink生成C++类的代码,因此将一些感悟记录下来。本文通过一个简单的例子研究Simulink生成C++类的代码以及一些相关配置。文章目录1 创建模型2 C++类生成配置及代码生成3 配置类名、函数名、IO传参4 总结1 创建模型首先打开Simulink,随意创建一个简单的模型,如下图。这里建立的控制逻辑比较简单,只是把输入信号放大两倍再输出,在C代码中对应的就是简单的乘以2。2 C++类生成配置及代码生成关于Embedded Coder相关配置本文不再赘述,可以参考

2022-04-08 20:57:14 6905 3

原创 Simulink代码生成:通过Matlab Function集成C函数

本文研究如何在Matlab Function模块中调用外部的C函数,以及一些注意点。文章目录1 问题引入2 简单例程2.1 创建C文件和头文件2.2 在Matlab Function中调用C函数2.3 仿真及代码生成3 其他技巧和注意点1 问题引入博主以前写过一篇博客《Simulink代码生成:通过Legacy Code Tool集成C函数》,可以在Simulink模型中调用外部的C代码。在Matlab Funciton中,用m语言写着代码,突然想要调用一个现成的C文件中的函数是不是也可以呢。答案是肯

2022-03-26 16:37:50 7140

原创 Matlab编程技巧:A*算法仿真

本文通过Matlab编程实现A* 算法,并通过几个简单的例子,单步调试输出A*搜索的过程。文章目录1 A* 算法简介2 Matlab编程实现2.1 输入参数2.2 初始化变量2.3 循环过程2.4 循环后处理1 A* 算法简介A* 算法是一种全局路径规划算法,通过A*算法可以在一个有障碍物的地图中找到从起点到终点的路径。网上关于A* 算法的详细介绍有很多,博主也就不再赘述。推荐想学习的博友看一下这篇博文入门:《A*算法(超级详细讲解,附有举例的详细手写步骤)》,博主看完后有种醍醐灌顶的感觉,就想通过

2022-01-22 12:01:21 15432 12

原创 Matlab编程技巧:通过脚本创建Simulink模块、信号线

本文研究通过Matlab脚本创建模型的方法。文章目录1 相关函数1.1 add_block1.2 add_line1 相关函数根据博主工作经验,一个Simulink控制模型应该是由两大元素构成:模块和信号线。因此,通过Matlab脚本创建模型也有两个函数分别用于创建模块和信号线,本章节会介绍这两个函数。1.1 add_block1.2 add_line...

2022-01-10 20:54:54 12183 2

原创 仿真与测试:通过From Workspace模块导入外部数据

本文研究通过From Workspace模块导入外部数据并进行仿真测试的方法。文章目录1 仿真外部数据2 仿真过程2.1 准备数据1 仿真外部数据在汽车的电控软件开发中,经常会进行实车道路试验或者在公司园区内进行实验。在实验的过程中会通过工具软件采集一些数据(如CANape或INCA)并保存到本地。这些数据可以拿回到办公室,在电脑上用Simulink模型仿真,从而分析其中的问题。这时,就会用到From Workspace模块,把测试的数据导入到Matlab中。后面博主会用简单的例子说明这个模块的用

2021-12-26 09:22:23 18581 4

原创 Simulink建模:PID控制模型

本文研究了PID控制的建模和代码生成。在实际工作中,PID控制可以配合其他策略一起使用,包括对输入输出的滤波,或者结合前馈控制提高响应等等。>>返回个人博客总目录。

2021-12-25 10:19:58 58111 10

原创 Simulink建模:一阶滤波模型

本文研究一阶滤波算法的Simulink模型及其代码生成。

2021-12-15 20:36:50 22956 6

原创 Simulink代码生成:通过Chart模块进行多个周期调度

本文研究如何通过Chart模块进行多个周期调度。文章目录1 问题引入2 Simulink建模2.1 Chart模型2.2 触发子系统3 代码生成与分析4 总结1 问题引入在很多以前的博客中,博主用Simulink生成的代码中,包含一个Step函数。在代码编译的过程中会把这个Step函数放入OS调度的函数中,譬如Task_5ms()函数内,这个函数就会每隔5ms被操作系统执行一次。但是博主最近在工作中遇到一个需求是,一个Simulink模型中的不同子系统以不同的周期被调度,但是生成的代码还得是一个st

2021-10-13 21:33:34 14452 8

原创 BLDC控制实验:方波、霍尔、开环、调速、正反转

本文记录博主学习BLDC控制软件的过程。文章目录1 概述2 底层代码生成3 接口及配置代码4 应用层模型及代码生成4.1 换向请求模块4.2 换向等待状态机4.3 六步换相模块4.4 代码生成及调用5 总结1 概述本文是博主学习BLDC控制的第三次实验。在上一篇博客《BLDC控制实验:方波、霍尔、开环、调速、正转》的基础上,实现按键控制电机正反转的功能,更改的地方主要在于应用层模型中:在电机状态机中加入反转等待的状态;在六步换相模块中根据正反转判断导通的开关;在之前博客中已经实现的功能,本文

2021-08-10 20:11:45 3957 2

RoboMaster.zip

博主原创的《机甲大师机器人控制》系列博客的模型和代码。其中包含了Simulink的控制模型和STM32工程代码。

2020-11-11

Autosar支持包.rar

适用于AUTOSAR标准的EmbeddedCoder®支持软件包,为Embedded Coder提供了额外的AUTOSAR支持。 来自于Matlab的官方硬件支持包Embedded Coder Support Package for AUTOSAR Standard

2020-04-19

Inventor2014注册机

64位inventor2014注册机,其实可以AUTODESK2014通用的

2014-11-08

空空如也

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

TA关注的人

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