?? special example.c
字號:
#include "DSP281x_Device.h" // DSP281x Headerfile Include File
#include "DSP281x_Examples.h" // DSP281x Examples Include File
#define SELDAC 1 // Select DAC
#define SELPWM 0 // Select PWM
interrupt void adc_isr(void);
void spi_init(void);
void pwm_init(void);
Uint16 LoopCount;
Uint16 Voice;
main()
{
DINT;
IER = 0x0000;
IFR = 0x0000;
InitSysCtrl();
InitPieCtrl();
InitPieVectTable();
EALLOW;
PieVectTable.ADCINT = &adc_isr;
EDIS;
InitAdc();
#if SELDAC
EALLOW;
GpioMuxRegs.GPFMUX.all=0x000F;
EDIS;
spi_init();
#endif
#if SELPWM
EALLOW;
GpioMuxRegs.GPAMUX.bit.T2PWM_GPIOA7 = 1;
EDIS;
pwm_init();
#endif
PieCtrlRegs.PIEIER1.bit.INTx6 = 1;
IER |= M_INT1;
LoopCount = 0;
AdcRegs.ADCTRL1.bit.CPS = 0;
AdcRegs.ADCTRL3.bit.ADCCLKPS = 3;
AdcRegs.ADCMAXCONV.all = 0x0000;
AdcRegs.ADCCHSELSEQ1.bit.CONV00 = 0x6;
AdcRegs.ADCTRL2.bit.EVA_SOC_SEQ1 = 1;
AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1 = 1;
EvaRegs.T1CMPR = 0x0000;
EvaRegs.T1PR = 0x0370;
EvaRegs.GPTCONA.bit.T1TOADC = 1;
EvaRegs.T1CON.all = 0x1042;
EINT;
ERTM;
while(1)
{
LoopCount++;
}
}
interrupt void adc_isr(void)
{
Voice = AdcRegs.ADCRESULT0 >>4;
#if SELDAC
SpiaRegs.SPITXBUF = (Voice*0.2) + 0x4000;
#endif
#if SELPWM
EvaRegs.T2CMPR = (Voice*0.2);
#endif
AdcRegs.ADCTRL2.bit.RST_SEQ1 = 1;
AdcRegs.ADCST.bit.INT_SEQ1_CLR = 1;
PieCtrlRegs.PIEACK.all = PIEACK_GROUP1;
return;
}
void spi_init(void)
{
SpiaRegs.SPICCR.bit.SPISWRESET=0; // Reset SCI
SpiaRegs.SPICCR.all=0x000F; //16-bit character, Loopback mode
SpiaRegs.SPICTL.all=0x0017; //Interrupt enabled, Master/Slave XMIT enabled
SpiaRegs.SPISTS.all=0x0000;
SpiaRegs.SPIBRR=0x0006; // Baud rate
SpiaRegs.SPIFFTX.all=0x8028; // Enable FIFO's, set TX FIFO level to 8
SpiaRegs.SPIFFRX.all=0x0028; // Set RX FIFO level to 31
SpiaRegs.SPIFFCT.all=0x00;
SpiaRegs.SPIPRI.all=0x0010;
SpiaRegs.SPICCR.bit.SPISWRESET=1; // Enable SCI
SpiaRegs.SPIFFTX.bit.TXFIFO=1;
SpiaRegs.SPIFFRX.bit.RXFIFORESET=1;
}
void pwm_init(void)
{
EvaRegs.T2PR = 0x9C4;
EvaRegs.T2CMPR = 0x0000;
EvaRegs.T2CNT = 0x0000;
EvaRegs.T2CON.all = 0x1042;
EvaRegs.GPTCONA.bit.TCMPOE = 1;
EvaRegs.GPTCONA.bit.T2PIN = 1;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -