Matlab与CCS接口_第1页
Matlab与CCS接口_第2页
Matlab与CCS接口_第3页
Matlab与CCS接口_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第4章 Embedded Target for TI C2000 例1、模型的代码生成/* * 文件名称:ADC_PWM_main.c * 功能描述:适时工作站为Simulink仿真模型ADC_PWM产生的代码* * Model version :1.6 * Real-Time Workshop file version :6.4 (R2006a) 03-Feb-2006 * Real-Time Workshop file generated on :Tue May 08 08:19:55 2007 * TLC version :6.4 (Jan 31 2006) * C source code generated on :Tue May 08 08:20:43 2007 */#include rtwtypes.h / MathWorks types #include ADC_PWM.h / Models header file#include DSP281x_Device.hvolatile int IsrOverrun = 0;static boolean_T OverrunFlag = 0;void rt_OneStep(void) asm ( SETC INTM); / 禁止全局中断 if (OverrunFlag+) IsrOverrun = 1; OverrunFlag-; / 允许迭代 return; asm ( CLRC INTM); / 全局中断使能,允许多任务处理 ADC_PWM_step(); OverrunFlag-;boolean_T getStopRequestedFlag() volatile boolean_T stopRequested = rtmGetErrorStatus(ADC_PWM_M) != NULL; return stopRequested;void main(void) volatile int_T errorStatus; init_board(); ADC_PWM_initialize(1); errorStatus = rtmGetErrorStatus(ADC_PWM_M) != NULL; config_schedulerTimer(); enable_interrupts(); while (!getStopRequestedFlag() if (IsrOverrun) asm ( CLRC INTM); / 使能全局中断 disable_interrupts(); /* Disable rt_OneStep() here */ /* Terminate model */ ADC_PWM_terminate();例2、 应用举例图 通过CAN总线控制PWM输出实例c2812asyncscheduling_main.c主程序文件在内总计12个文件,经过编译连接后即可将可执行文件下载到目标系统上运行。自动生成的工程文件c2812asyncscheduling_main.c部分代码:/* * 文件名称:c2812asyncscheduling_main.c * 功能描述:实时工作站为Simulink c2812asyncscheduling产生的主程序*/#include rtwtypes.h / MathWorks类型 #include c2812asyncscheduling.h / c2812asyncscheduling仿真Model的头文件#include DSP281x_Device.hvolatile int IsrOverrun = 0;volatile boolean_T OverrunFlags2 = 0,0;void rt_OneStep(void) boolean_T eventFlags2; asm ( SETC INTM); / 禁止全局中断 if (OverrunFlags0+) / 检查设置的base step time是否足够快 IsrOverrun = 1; OverrunFlags0-; return; asm ( CLRC INTM); / 使能全局中断,允许多任务操作 c2812asyncscheduling_SetEventsForThisBaseStep(eventFlags); c2812asyncscheduling_step(0); OverrunFlags0-; if (eventFlags1) asm ( SETC INTM); if (OverrunFlags1+) IsrOverrun = 1; OverrunFlags1-; return; asm ( CLRC INTM); c2812asyncscheduling_step(1); OverrunFlags1-; boolean_T getStopRequestedFlag() volatile boolean_T stopRequested = rtmGetErrorStatus(c2812asyncscheduling_M) != NULL; return stopRequested;void main(void) volatile int_T errorStatus; init_board(); c2812asyncscheduling_initialize(1); errorStatus = rtmGetErrorStatus(c2812asyncscheduling_M) != NULL; config_schedulerTimer(); enable_interrupts(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论