网站设计 西安,活动 wordpress,泰安人才网最新招聘,作业设计模板今天给大家带来的仍然是基于MBD的嵌入式代码生成#xff0c;主要把应用层和底层接口之间的代码生成配置说一下。本周末会更新功能安全相关#xff0c;欢迎大家留言交流#xff01;作为一个总是用C写代码的人来说#xff0c;第一次接触到基于MBD的代码生成的时候就迫不及待的…今天给大家带来的仍然是基于MBD的嵌入式代码生成主要把应用层和底层接口之间的代码生成配置说一下。本周末会更新功能安全相关欢迎大家留言交流作为一个总是用C写代码的人来说第一次接触到基于MBD的代码生成的时候就迫不及待的想知道怎么能让生成的代码用到嵌入式控制器中。刚开始没有Green Hills、没有matlab的硬件支持包也不会makefile但简陋的设施仍然无法阻挡我研究的步伐。后来经过摸索发现真想学习代码生成只需要有单片机软件编译器(对应芯片的就行)matlab就可以搞定。下面通过一个简单实例来给大家演示下如何通过配置让应用层和底层拥有共同的接口。假设有如下所示电路当左侧滑动变阻器发生变化时调整灯的亮度。首先底层代码肯定会有如下图所示接口示意代码其中in_AD为输入接口out_PWM为输出接口Test1_step ()为应用程序。Test1.c为应用程序代码。所以说当接口定义完成后底层代码和应用层代码可以按照这套接口来同时开发这样加快了项目的开发进度。那接下来看看怎么样才能得到对应的应用代码可以直接放到编译软件中来编译。这里我们建立这样的一个模型做以下配置(前言说过的配置不再赘述大家忘记的可以点击链接会跳转到前前言篇Simulink之嵌入式C代码生成-前言篇)点击代码生成。按照下图所示将模型代码放入到编译器中将Test1.h包含到main.h中并调用模型生成的代码。点击编译可以看到编译通过但是模型到底能不能执行呢实际仿真一下答案是不能按照想要的结果执行的。打开Test1.c就可以看到模型执行的实际代码如下可以发现这里输入接口不是in_AD而是Test1_U.AD同样的输出也不是。描述到这里终于到了关键点——如何灵活设置应用层接口创建完成信号后记得将workspace中的信号另存为脚本文件(下次分析这一步操作的原因)。设置完成之后再次编译可观察到生成的代码如下代码中的接口与我们最开始定义的接口完全一致了将代码放到编译器中就可以编译仿真了。向编译器中放代码的时候只需放入Test1相关的文件直接替换即可不用更改底层代码用起来是不是很方便当应用程序比较复杂时也只是多了几个文件照样放进去就可以用。本篇只是演示了接口生成的过程但是在实际编程过程中不是只有外部变量一种接口还有像宏定义、可导出外部变量、标定量等等下篇详细介绍什么样的需求对应什么样的配置。那么我们下期见