⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mw_c28xx_csl_c.html

📁 代码由matlab自动生成
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<HTML>
<HEAD>
<TITLE>RTW Report - MW_c28xx_csl.c </TITLE>
<STYLE> .LineNumber { font-style: italic; color: #888888 } </STYLE>
<STYLE> .Comment { font-style: italic; color: #117755 } </STYLE>
<STYLE> .PreProcessor { font-style: bold;   color: #992211 } </STYLE>
<STYLE> .Keyword { font-style: bold;   color: #112266 } </STYLE>
<STYLE> .Datatype { font-style: bold;   color: #112266 } </STYLE>
</HEAD>
<BODY BGCOLOR="#eeeeee" TEXT=#1122aa>
<P>
<TABLE BORDER="0" CELLSPACING="0" CELLPADDING="6" WIDTH="100%" HEIGHT="100%"><TR><TD WIDTH="100%" VALIGN="top" BGCOLOR="#ffffff">
<H4>File: <A HREF="file:///D:\MATLAB\R2007a\work\Demo1103_IO_AD_PWM3_V7_ccslink\MW_c28xx_csl.c" TARGET="rtwreport_document_frame">D:\MATLAB\R2007a\work\Demo1103_IO_AD_PWM3_V7_ccslink\MW_c28xx_csl.c</A></H4>
<PRE>
<SPAN class="LineNumber">    1   </SPAN><FONT COLOR=#992211>#</FONT><SPAN class="PreProcessor">include</SPAN> <FONT COLOR=#992211>&quot;DSP281x_Device.h&quot;</FONT>
<SPAN class="LineNumber">    2   </SPAN><FONT COLOR=#992211>#</FONT><SPAN class="PreProcessor">include</SPAN> <FONT COLOR=#992211>&quot;rtwtypes.h&quot;</FONT>
<SPAN class="LineNumber">    3   </SPAN><FONT COLOR=#992211>#</FONT><SPAN class="PreProcessor">include</SPAN> <FONT COLOR=#992211>&quot;Demo1103_IO_AD_PWM3_V7.h&quot;</FONT>
<SPAN class="LineNumber">    4   </SPAN><FONT COLOR=#992211>#</FONT><SPAN class="PreProcessor">include</SPAN> <FONT COLOR=#992211>&quot;Demo1103_IO_AD_PWM3_V7_private.h&quot;</FONT>
<SPAN class="LineNumber">    5   </SPAN>
<SPAN class="LineNumber">    6   </SPAN><SPAN class="Comment">/*-----------------------------------------------------------------------------
<SPAN class="LineNumber">    7   </SPAN> * void config_schedulerTimer(void)
<SPAN class="LineNumber">    8   </SPAN> *
<SPAN class="LineNumber">    9   </SPAN> * Abstract:
<SPAN class="LineNumber">   10   </SPAN> *      This function configures scheduler timer
<SPAN class="LineNumber">   11   </SPAN> */</SPAN>
<SPAN class="LineNumber">   12   </SPAN><SPAN class="Datatype">void</SPAN> <A NAME=fcn_config_schedulerTimer>config_schedulerTimer</A>(<SPAN class="Datatype">void</SPAN>)
<SPAN class="LineNumber">   13   </SPAN><B>{</B>
<SPAN class="LineNumber">   14   </SPAN>  <SPAN class="Comment">/* Configure CPU-Timer 0 to interrupt every 0.0001 sec. */</SPAN>
<SPAN class="LineNumber">   15   </SPAN>  <SPAN class="Comment">/* Parameters:  Timer Pointer, CPU Freq in MHz, Period in usec. */</SPAN>
<SPAN class="LineNumber">   16   </SPAN>  ConfigCpuTimer(&amp;CpuTimer0, 150, 0.0001 * 1000000);
<SPAN class="LineNumber">   17   </SPAN>  StartCpuTimer0();
<SPAN class="LineNumber">   18   </SPAN><B>}</B>
<SPAN class="LineNumber">   19   </SPAN>
<SPAN class="LineNumber">   20   </SPAN><SPAN class="Datatype">void</SPAN> <A NAME=fcn_disableWatchdog>disableWatchdog</A>(<SPAN class="Datatype">void</SPAN>)
<SPAN class="LineNumber">   21   </SPAN><B>{</B>
<SPAN class="LineNumber">   22   </SPAN>  <SPAN class="Datatype">int</SPAN> *WatchdogWDCR = (<SPAN class="Datatype">void</SPAN> *) 0x7029;
<SPAN class="LineNumber">   23   </SPAN>  asm(<FONT COLOR=#1122ff>&quot; EALLOW &quot;</FONT>);
<SPAN class="LineNumber">   24   </SPAN>  *WatchdogWDCR = 0x0068;
<SPAN class="LineNumber">   25   </SPAN>  asm(<FONT COLOR=#1122ff>&quot; EDIS &quot;</FONT>);
<SPAN class="LineNumber">   26   </SPAN><B>}</B>
<SPAN class="LineNumber">   27   </SPAN>
<SPAN class="LineNumber">   28   </SPAN><SPAN class="Comment">/* Function: config_ADC_A ------------------------------
<SPAN class="LineNumber">   29   </SPAN> *
<SPAN class="LineNumber">   30   </SPAN> * Abstract:
<SPAN class="LineNumber">   31   </SPAN> *      Configure ADC_A
<SPAN class="LineNumber">   32   </SPAN> */</SPAN>
<SPAN class="LineNumber">   33   </SPAN><SPAN class="Datatype">void</SPAN> <A NAME=fcn_config_ADC_A>config_ADC_A</A>(<A HREF=rtwtypes_h.html#type_uint16_T TARGET="rtwreport_document_frame"><FONT COLOR="#1122aa">uint16_T</FONT></A> maxConv, <A HREF=rtwtypes_h.html#type_uint16_T TARGET="rtwreport_document_frame"><FONT COLOR="#1122aa">uint16_T</FONT></A> adcChselSEQ1Reg, <A HREF=rtwtypes_h.html#type_uint16_T TARGET="rtwreport_document_frame"><FONT COLOR="#1122aa">uint16_T</FONT></A>
<SPAN class="LineNumber">   34   </SPAN>                  adcChselSEQ2Reg, <A HREF=rtwtypes_h.html#type_uint16_T TARGET="rtwreport_document_frame"><FONT COLOR="#1122aa">uint16_T</FONT></A> adcChselSEQ3Reg, <A HREF=rtwtypes_h.html#type_uint16_T TARGET="rtwreport_document_frame"><FONT COLOR="#1122aa">uint16_T</FONT></A>
<SPAN class="LineNumber">   35   </SPAN>                  adcChselSEQ4Reg)
<SPAN class="LineNumber">   36   </SPAN><B>{</B>
<SPAN class="LineNumber">   37   </SPAN>  AdcRegs.ADCTRL1.bit.SUSMOD = 0x0;    <SPAN class="Comment">// Emulation suspend ignored</SPAN>
<SPAN class="LineNumber">   38   </SPAN>  AdcRegs.ADCTRL1.bit.ACQ_PS = 12;     <SPAN class="Comment">// Acquisition window size</SPAN>
<SPAN class="LineNumber">   39   </SPAN>  AdcRegs.ADCTRL1.bit.CPS = 0;         <SPAN class="Comment">// Core clock pre-scaler</SPAN>
<SPAN class="LineNumber">   40   </SPAN>  AdcRegs.ADCTRL1.bit.CONT_RUN = 0x0;  <SPAN class="Comment">// Start-Stop sequencer mode</SPAN>
<SPAN class="LineNumber">   41   </SPAN>  AdcRegs.ADCTRL3.bit.ADCBGRFDN = 0x3; <SPAN class="Comment">// Bandgap and reference powered up</SPAN>
<SPAN class="LineNumber">   42   </SPAN>  AdcRegs.ADCTRL3.bit.ADCCLKPS = 6;    <SPAN class="Comment">// Core clock divider</SPAN>
<SPAN class="LineNumber">   43   </SPAN>  AdcRegs.ADCTRL3.bit.SMODE_SEL = 0;   <SPAN class="Comment">// Sequential sampling</SPAN>
<SPAN class="LineNumber">   44   </SPAN>  AdcRegs.ADCMAXCONV.bit.MAX_CONV1 = maxConv;<SPAN class="Comment">// Number of conversions in CONV1 when using A and &quot;A and B&quot; module</SPAN>
<SPAN class="LineNumber">   45   </SPAN>  AdcRegs.ADCCHSELSEQ1.all = adcChselSEQ1Reg;<SPAN class="Comment">// Channels for conversion</SPAN>
<SPAN class="LineNumber">   46   </SPAN>  AdcRegs.ADCCHSELSEQ2.all = adcChselSEQ2Reg;<SPAN class="Comment">// Channels for conversion</SPAN>
<SPAN class="LineNumber">   47   </SPAN>  AdcRegs.ADCTRL1.bit.SEQ_CASC = 0;    <SPAN class="Comment">// Dual sequencer mode</SPAN>
<SPAN class="LineNumber">   48   </SPAN><B>}</B>
<SPAN class="LineNumber">   49   </SPAN>
<SPAN class="LineNumber">   50   </SPAN><SPAN class="Comment">/* Function: config_PWM_A ------------------------------
<SPAN class="LineNumber">   51   </SPAN> *
<SPAN class="LineNumber">   52   </SPAN> * Abstract:
<SPAN class="LineNumber">   53   </SPAN> *      Configure PWM_A
<SPAN class="LineNumber">   54   </SPAN> */</SPAN>
<SPAN class="LineNumber">   55   </SPAN><SPAN class="Datatype">void</SPAN> <A NAME=fcn_config_PWM_A>config_PWM_A</A>(<A HREF=rtwtypes_h.html#type_uint16_T TARGET="rtwreport_document_frame"><FONT COLOR="#1122aa">uint16_T</FONT></A> timerPeriod, <A HREF=rtwtypes_h.html#type_uint16_T TARGET="rtwreport_document_frame"><FONT COLOR="#1122aa">uint16_T</FONT></A> waveformType,
<SPAN class="LineNumber">   56   </SPAN>                  <A HREF=rtwtypes_h.html#type_uint16_T TARGET="rtwreport_document_frame"><FONT COLOR="#1122aa">uint16_T</FONT></A> unit1Status, <SPAN class="Datatype">char</SPAN>* unit1Source, <A HREF=rtwtypes_h.html#type_uint16_T TARGET="rtwreport_document_frame"><FONT COLOR="#1122aa">uint16_T</FONT></A> unit1Value,
<SPAN class="LineNumber">   57   </SPAN>                  <A HREF=rtwtypes_h.html#type_uint16_T TARGET="rtwreport_document_frame"><FONT COLOR="#1122aa">uint16_T</FONT></A> unit2Status, <SPAN class="Datatype">char</SPAN>* unit2Source, <A HREF=rtwtypes_h.html#type_uint16_T TARGET="rtwreport_document_frame"><FONT COLOR="#1122aa">uint16_T</FONT></A> unit2Value,
<SPAN class="LineNumber">   58   </SPAN>                  <A HREF=rtwtypes_h.html#type_uint16_T TARGET="rtwreport_document_frame"><FONT COLOR="#1122aa">uint16_T</FONT></A> unit3Status, <SPAN class="Datatype">char</SPAN>* unit3Source, <A HREF=rtwtypes_h.html#type_uint16_T TARGET="rtwreport_document_frame"><FONT COLOR="#1122aa">uint16_T</FONT></A> unit3Value,
<SPAN class="LineNumber">   59   </SPAN>                  <A HREF=rtwtypes_h.html#type_uint16_T TARGET="rtwreport_document_frame"><FONT COLOR="#1122aa">uint16_T</FONT></A> controlLogic,
<SPAN class="LineNumber">   60   </SPAN>                  <A HREF=rtwtypes_h.html#type_uint16_T TARGET="rtwreport_document_frame"><FONT COLOR="#1122aa">uint16_T</FONT></A> enableDeadband1, <A HREF=rtwtypes_h.html#type_uint16_T TARGET="rtwreport_document_frame"><FONT COLOR="#1122aa">uint16_T</FONT></A> enableDeadband2, <A HREF=rtwtypes_h.html#type_uint16_T TARGET="rtwreport_document_frame"><FONT COLOR="#1122aa">uint16_T</FONT></A>
<SPAN class="LineNumber">   61   </SPAN>                  enableDeadband3,
<SPAN class="LineNumber">   62   </SPAN>                  <A HREF=rtwtypes_h.html#type_uint16_T TARGET="rtwreport_document_frame"><FONT COLOR="#1122aa">uint16_T</FONT></A> deadbandPrescaler, <A HREF=rtwtypes_h.html#type_uint16_T TARGET="rtwreport_document_frame"><FONT COLOR="#1122aa">uint16_T</FONT></A> deadbandPeriod, <A HREF=rtwtypes_h.html#type_uint16_T TARGET="rtwreport_document_frame"><FONT COLOR="#1122aa">uint16_T</FONT></A>
<SPAN class="LineNumber">   63   </SPAN>                  timerToADC)
<SPAN class="LineNumber">   64   </SPAN><B>{</B>
<SPAN class="LineNumber">   65   </SPAN>  <SPAN class="Datatype">const</SPAN> <A HREF=rtwtypes_h.html#type_uint16_T TARGET="rtwreport_document_frame"><FONT COLOR="#1122aa">uint16_T</FONT></A> DISABLED= 0;
<SPAN class="LineNumber">   66   </SPAN>
<SPAN class="LineNumber">   67   </SPAN>  <SPAN class="Comment">/* Initalize EVA Timer1 which controls PWM1-PWM6 */</SPAN>
<SPAN class="LineNumber">   68   </SPAN>  EvaRegs.T1PR = timerPeriod;          <SPAN class="Comment">// period</SPAN>
<SPAN class="LineNumber">   69   </SPAN>  EvaRegs.T1CMPR = EvaRegs.T1PR&gt;&gt;1;    <SPAN class="Comment">// compare</SPAN>
<SPAN class="LineNumber">   70   </SPAN>  EvaRegs.T1CNT = 0x0000;              <SPAN class="Comment">// counter</SPAN>
<SPAN class="LineNumber">   71   </SPAN>  EvaRegs.T1CON.all = 0x1042;          <SPAN class="Comment">// enable; compare enable; default TMODE</SPAN>
<SPAN class="LineNumber">   72   </SPAN>  EvaRegs.T1CON.bit.TMODE = waveformType;<SPAN class="Comment">// adjust Timer TMODE</SPAN>
<SPAN class="LineNumber">   73   </SPAN>
<SPAN class="LineNumber">   74   </SPAN>  <SPAN class="Comment">/* Set ADC SOC signal according to user's request */</SPAN>
<SPAN class="LineNumber">   75   </SPAN>  EvaRegs.GPTCONA.bit.T1TOADC = timerToADC;
<SPAN class="LineNumber">   76   </SPAN>
<SPAN class="LineNumber">   77   </SPAN>  <SPAN class="Comment">/* Enable compare for PWM1-PWM6 */</SPAN>
<SPAN class="LineNumber">   78   </SPAN>  EvaRegs.CMPR1 = unit1Status ? unit1Value : DISABLED;
<SPAN class="LineNumber">   79   </SPAN>  EvaRegs.CMPR2 = unit2Status ? unit2Value : DISABLED;
<SPAN class="LineNumber">   80   </SPAN>  EvaRegs.CMPR3 = unit3Status ? unit3Value : DISABLED;
<SPAN class="LineNumber">   81   </SPAN>
<SPAN class="LineNumber">   82   </SPAN>  <SPAN class="Comment">/* Compare action control: Action that takes place on a compare event */</SPAN>
<SPAN class="LineNumber">   83   </SPAN>  EvaRegs.ACTRA.all = controlLogic;
<SPAN class="LineNumber">   84   </SPAN>  EvaRegs.DBTCONA.bit.EDBT1 = enableDeadband1;
<SPAN class="LineNumber">   85   </SPAN>  EvaRegs.DBTCONA.bit.EDBT2 = enableDeadband2;
<SPAN class="LineNumber">   86   </SPAN>  EvaRegs.DBTCONA.bit.EDBT3 = enableDeadband3;
<SPAN class="LineNumber">   87   </SPAN>  EvaRegs.DBTCONA.bit.DBT = deadbandPeriod;
<SPAN class="LineNumber">   88   </SPAN>  EvaRegs.DBTCONA.bit.DBTPS = deadbandPrescaler;
<SPAN class="LineNumber">   89   </SPAN>  EvaRegs.COMCONA.all = 0xA600;
<SPAN class="LineNumber">   90   </SPAN><B>}</B>
<SPAN class="LineNumber">   91   </SPAN>
<SPAN class="LineNumber">   92   </SPAN>interrupt <SPAN class="Datatype">void</SPAN> <A NAME=fcn_schedulerTimer_ISR>schedulerTimer_ISR</A>(<SPAN class="Datatype">void</SPAN>)
<SPAN class="LineNumber">   93   </SPAN><B>{</B>
<SPAN class="LineNumber">   94   </SPAN>  PieCtrlRegs.PIEACK.all = 1;
<SPAN class="LineNumber">   95   </SPAN>  IER |= 1;
<SPAN class="LineNumber">   96   </SPAN>  <A HREF=Demo1103_IO_AD_PWM3_V7_main_c.html#fcn_rt_OneStep TARGET="rtwreport_document_frame"><FONT COLOR="#1122aa">rt_OneStep</FONT></A>();
<SPAN class="LineNumber">   97   </SPAN>  DINT;                                <SPAN class="Comment">// disable global interrupts during context switch, CPU will enable global interrupts after exiting ISR</SPAN>
<SPAN class="LineNumber">   98   </SPAN><B>}</B>
<SPAN class="LineNumber">   99   </SPAN>
<SPAN class="LineNumber">  100   </SPAN><SPAN class="Datatype">void</SPAN> <A NAME=fcn_enable_interrupts>enable_interrupts</A>()
<SPAN class="LineNumber">  101   </SPAN><B>{</B>
<SPAN class="LineNumber">  102   </SPAN>  EALLOW;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -