- 博客(17)
- 资源 (3)
- 收藏
- 关注
原创 Matlab/Simulink 自动代码生成 基于模型设计学习教程(17)---- 跨平台代码调用
接下来我们来谈论一个这个教程里面最关键的一个问题:如何将Matlab/Simulink生成的代码迁移到其他平台上面运行呢。我们可以看到为什么Matlab公司会不断地嵌入式平台的底层配置直接生成代码,很大程度上底层配置代码生成的灵活性不够,我们看到ST官网出的支持包我们用起来的稳定也是特别差,几乎每次生成都会出现这样那样的问题。所以跨平台是特别好的选择。前面我们已经解决了代码的可读性及...
2019-03-25 15:04:47 3624
原创 Matlab/Simulink 自动代码生成 基于模型设计学习教程(16)---- 生成代码优化(建立数据字典)
我们先来建立一个数据字典 我们看到新建立一个sldd文件,模型当中也会出现箭头所示的。 我们把箭头那点开,我们就看到右边那个 命名好信号线,并把右边...
2019-03-25 14:53:02 5644
原创 Matlab/Simulink 自动代码生成 基于模型设计学习教程(15)---- 如何生成MDK工程文件
首先打开MDK软件,我的软件版本是Keil uVision5,点击打开软件,建立新的工程文件 把新的工程建立在Step2中的闪烁灯文件里,如下所示,并点击保存 保存后,会跳出以下界面,选择对应我们开发板芯片的型号,然后点击OK 再点击OK 接下来我们把Mat...
2019-03-20 22:08:24 3254
原创 Matlab/Simulink 自动代码生成 基于模型设计学习教程(14)---- 纯模糊逻辑控制之控制直流电机
我们先来看一下整个模型 在代码生成阶段,我们需要把模糊逻辑转变成查表的形式,这样能优化不少的代码量,精度上也没有差别多少,不然代码量就成几倍的增加,运行起来就容易卡住,运行精度比较差。每次运行代码前,首先确定右边的工作区有没有我们所需要的变量,...
2019-03-20 21:59:48 1910
原创 Matlab/Simulink 自动代码生成 基于模型设计学习教程(13)---- 模糊逻辑算法仿真练习
实验内容运用matlab制作一个两个输入一个输出的模糊控制器。分别控制一阶二阶三阶系统查看其输出。实验分析模糊逻辑控制器的基本结构2.根据系统实际情况,选择e,de和u的论域e range : [-66]ecrange: [-66]u range: [-22]. e,de和u语言变量的选取e 7个...
2019-03-20 21:55:21 2459
原创 Matlab/Simulink 自动代码生成 基于模型设计学习教程(11)---- 自适应滤波器仿真及其设计
下图的模块里面,所有的自适应滤波算法模块,下面将以LMS Filter给大家讲解一下自适应滤波的用法及其优势 以下为LMS Filter的初步用法的模型 两个模块的基本参数设置,LMS模块最主要的设置是Filter length跟Step sise,下面是根据对比IIR滤波设置的一些基本参...
2019-03-20 21:30:59 4308
原创 Matlab/Simulink 自动代码生成 基于模型设计学习教程(10)---- IIR滤波器仿真设计及代码实现
双击左边的Speed.mat,然后就可以看到工作区出现一个变量新建一个仿真模型,模块的配置如下: 运行一下,模型我们就可以看到之前我们保存的数据了 ...
2019-03-20 21:26:25 2293
原创 Matlab/Simulink 自动代码生成 基于模型设计学习教程(9)---- 编码器模式实验
我们先来看看定时器的编码器功能模块所在的位置这里的编码器模块最终会输出读出的定时器计数到的波形数量,以及输出波形的方向Timer:选择对应的定时器Channel A Input Pin:通道A的输入引脚Channel B Input Pin:通道B的输入引脚PPR:编码器转一圈产生的方波Reset couter sfter every counter read:勾...
2019-03-20 21:19:25 2804
原创 Matlab/Simulink 自动代码生成 基于模型设计学习教程(8)---- PWM与输入捕获实验
我们先来看一下PWM功能模块以及输入捕获功能模块所在的位置这里的输入捕获功能是高级输入捕获功能,捕获PWM波形,输出频率、周期、以及高电平或者低电平时间;我们再来看一下如何配置两个模块的功能Timer:选择你需要的定时器PWM Period:PWM波形的周期Polarity:Active High:定义的占空比为高定平 ...
2019-03-20 21:12:21 3556
原创 Matlab/Simulink 自动代码生成 基于模型设计学习教程(7)---- Timer--IRQ实验
接下来几个实验我们来讲述一下定时器的几个功能。这个实验将会讲定时器最基本的功能定时中断功能我们来看看实现定时器中断功能的模块Configuration Mode:有基本模式和高级模式,本实验主要讲基本模式,大家可以自己研究一下高级模式;Timer module:选择定时组Priority:选择优先级,最高选择:0,最低选择:15Sample time:多久时间中断出发一次(...
2019-03-20 21:04:38 2979 1
原创 Matlab/Simulink 自动代码生成 基于模型设计学习教程(6)---- ADC实验
首先我们来看一下整个模型:这个是要我们只要弄懂Regular ADC这个模块怎么用就可以了左边的图:设置ADC模式,选择输出的数据类型。还有就是ADC的速度右边的图:设置Sample time,以及自主命名输出端口;本节所需的全部文件代码如下,请自行下载:链接:https://pan.baidu.com/s/10C9xdvA-wAwmDGp...
2019-03-20 20:59:01 3904
原创 Matlab/Simulink 自动代码生成 基于模型设计学习教程(5)---- Simulink与开发板通讯
我们首先这个是要提几点要求:Simulink与开发板之间要实时通讯 Simulink能实时发送数据给开发板,并能更改数据这个是我们先来看一下整个模型我们就之前没有讲过的,这里讲一下怎么运用,串口通讯模块记得Sample time要设置0.01s在做串口接受跟发送一起的时候,我们一定要选Non-Blocking,选了以后就会出现一个READY的触发端口,只有在接受数据以后...
2019-03-20 20:56:21 3644
原创 Matlab/Simulink 自动代码生成 基于模型设计学习教程(4)---- 串口通讯(数据包)
我们先来看一下我们总体搭起来的模型数据包通讯最关键的是定义数据包头以及包尾;在模块当中已经提供如何设置包头包尾:格式为16进制 模块中的数据包由两种发送形式,一个是16进制向量,一个是16进制;16进制向量需要用一个Bus模块把零散的数据组成一个向量,然后按顺序一个一个发出去,16进制直接把数据...
2018-05-13 13:56:39 4657
原创 Matlab/Simulink 自动代码生成 基于模型设计学习教程(3)---- 串口通讯(Ascii)
我们的串口通讯模块有好几个数据传输的方式,现在我们研究一下这个串口通讯模块怎么用,并以常用的通讯方式为代表讲述怎么使用这些通讯方式; 我们把下图的模块添加到我们的模型中去为了显示我们的程序运行正常,我们加上个实验的闪烁灯,整个模型如下 我们来看看串口模块的设置情况,串口的基本设置非常简单,直接改波特...
2018-05-12 18:45:54 5878
原创 Matlab/Simulink 自动代码生成 基于模型设计学习教程(12)---- PID控制直流电机
基于前面的基础,我们已经能够搭建Simulink上位机、编码器测速、IIR滤波。这个利用PID控制直流电机实验,我们能否把这些功能都结合起来,形成一个综合性比较强的实验呢; 下面我们给本实验提一点设计需求:利用上位机控制电机正反转; 利用上位机观测到电机的转速、转向,通过滤波算法提高测速的精度; 利用上位机调整PID三个参数,使能达到更好的控制效果; 利用上位...
2018-05-05 15:16:12 11676
原创 Matlab/Simulink 自动代码生成 基于模型设计学习教程(2)---- 闪烁灯实验
首先我们来搭建我们第一个模型将选中的模块拖到左边的模型当中我们再来看一下原理图,可以看见PC13是我们的指示灯我们来设置 Digital Output模块,选中PC13,并将Sample time设置成0.01,引脚定义可以改成我们熟悉的;我们再来设置pulse Generator模块,只要设置Period跟Pulse Width就行了设置T...
2018-05-04 23:19:53 7288
原创 Matlab/Simulink 自动代码生成 基于模型设计学习教程(1)---- 环境配置
在接触不断开发深入STM32的时候,我经常在直接用C语言编写一个很发杂的算法,比如PID控制,傅里叶变换,卡尔曼滤波之类的基本需要的算法,然而对于一个初学者来说,编写这样的算法,费时费劲,甚至不一定能够编写得出来。 在我不断深入学习matlab时,经常感叹matlab的越来越强大,一些很复杂的算法,结合simulink非常方便地完成仿真,并且结合对应的硬件自...
2018-04-20 20:26:31 15686
waijung simulink STM32开发库串口通讯bug修复
2018-05-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人