欢迎来到天天文库
浏览记录
ID:39550202
大小:91.50 KB
页数:5页
时间:2019-07-06
《Matlab与CCS接口》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章EmbeddedTargetforTIC20001例1、模型的代码生成1例2、应用举例3第4章EmbeddedTargetforTIC2000例1、模型的代码生成/**文件名称:ADC_PWM_main.c*功能描述:适时工作站为Simulink仿真模型ADC_PWM产生的代码**Modelversion:1.6*Real-TimeWorkshopfileversion:6.4(R2006a)03-Feb-2006*Real-TimeWorkshopfilegeneratedon:TueMay0808:19:552007*TLCversio
2、n:6.4(Jan312006)*Csourcecodegeneratedon:TueMay0808:20:432007*/#include"rtwtypes.h"//MathWorkstypes#include"ADC_PWM.h"//Model'sheaderfile#include"DSP281x_Device.h"volatileintIsrOverrun=0;staticboolean_TOverrunFlag=0;voidrt_OneStep(void){asm("SETCINTM");//禁止全局中断if(OverrunFlag++
3、){IsrOverrun=1;OverrunFlag--;//允许迭代return;}asm("CLRCINTM");//全局中断使能,允许多任务处理ADC_PWM_step();OverrunFlag--;}5boolean_TgetStopRequestedFlag(){volatileboolean_TstopRequested=rtmGetErrorStatus(ADC_PWM_M)!=NULL;returnstopRequested;}voidmain(void){volatileint_TerrorStatus;init_board(
4、);ADC_PWM_initialize(1);errorStatus=rtmGetErrorStatus(ADC_PWM_M)!=NULL;config_schedulerTimer();enable_interrupts();while(!getStopRequestedFlag()){if(IsrOverrun){asm("CLRCINTM");//使能全局中断}}disable_interrupts();/*Disablert_OneStep()here*//*Terminatemodel*/ADC_PWM_terminate();}5例
5、2、应用举例图通过CAN总线控制PWM输出实例c2812asyncscheduling_main.c主程序文件在内总计12个文件,经过编译连接后即可将可执行文件下载到目标系统上运行。自动生成的工程文件5c2812asyncscheduling_main.c部分代码:/**文件名称:c2812asyncscheduling_main.c*功能描述:实时工作站为Simulinkc2812asyncscheduling产生的主程序*/#include"rtwtypes.h"//MathWorks类型#include"c2812asyncscheduli
6、ng.h"//c2812asyncscheduling仿真Model的头文件#include"DSP281x_Device.h"volatileintIsrOverrun=0;volatileboolean_TOverrunFlags[2]={0,0};voidrt_OneStep(void){boolean_TeventFlags[2];asm("SETCINTM");//禁止全局中断if(OverrunFlags[0]++){//检查设置的basesteptime是否足够快IsrOverrun=1;OverrunFlags[0]--;retu
7、rn;}asm("CLRCINTM");//使能全局中断,允许多任务操作c2812asyncscheduling_SetEventsForThisBaseStep(eventFlags);c2812asyncscheduling_step(0);OverrunFlags[0]--;if(eventFlags[1]){asm("SETCINTM");if(OverrunFlags[1]++){IsrOverrun=1;OverrunFlags[1]--;return;}asm("CLRCINTM");c2812asyncscheduling_ste
8、p(1);OverrunFlags[1]--;}}boolean_TgetStopRequestedFlag(){volatileboo
此文档下载收益归作者所有