#include "DSP28x_Project.h" #include "DSP2803x_Adc.h" #include "DSP2803x_GlobalPrototypes.h" #include "DSP2803x_CpuTimers.h" #include "DSP2803x_XIntrupt.h" #include "DSP2803x_SysCtrl.h" #include "DSP2803x_DevEmu.h" #include "DSP2803x_EPwm_defines.h"是什么
时间: 2023-07-19 12:06:33 浏览: 78
这是一些头文件的引用,用于在 Texas Instruments 公司的 DSP2803x 系列数字信号处理器(DSP)上进行编程。其中包括 DSP28x_Project.h、DSP2803x_Adc.h、DSP2803x_GlobalPrototypes.h、DSP2803x_CpuTimers.h、DSP2803x_XIntrupt.h、DSP2803x_SysCtrl.h、DSP2803x_DevEmu.h 和 DSP2803x_EPwm_defines.h。这些头文件定义了各种寄存器、变量和函数,用于访问和操作 DSP 的各个部分,例如 ADC、定时器、中断控制器、系统控制器、调试模块和 PWM 控制器等。
相关问题
dsp28335芯片 adc中断方式采样代码
以下是基于DSP28335芯片的ADC中断方式采样代码示例:
```c
#include "DSP2833x_Device.h"
#include "DSP2833x_Examples.h"
#include "DSP2833x_GlobalPrototypes.h"
Uint16 AdcBuf[8];
volatile Uint16 SampleFlag;
interrupt void AdcIsr(void)
{
AdcBuf[0] = AdcResult.ADCRESULT0;
AdcBuf[1] = AdcResult.ADCRESULT1;
AdcBuf[2] = AdcResult.ADCRESULT2;
AdcBuf[3] = AdcResult.ADCRESULT3;
AdcBuf[4] = AdcResult.ADCRESULT4;
AdcBuf[5] = AdcResult.ADCRESULT5;
AdcBuf[6] = AdcResult.ADCRESULT6;
AdcBuf[7] = AdcResult.ADCRESULT7;
SampleFlag = 1;
PieCtrlRegs.PIEACK.all = PIEACK_GROUP1;
}
void AdcInit(void)
{
EALLOW;
SysCtrlRegs.PCLKCR0.bit.ADCENCLK = 1;
AdcRegs.ADCTRL1.bit.RESET = 1;
AdcRegs.ADCTRL1.bit.SUSMOD = 3;
AdcRegs.ADCTRL1.bit.ACQ_PS = 9;
AdcRegs.ADCTRL1.bit.CPS = 1;
AdcRegs.ADCTRL3.bit.ADCBGRFDN = 0;
AdcRegs.ADCTRL3.bit.ADCPWDN = 1;
AdcRegs.ADCTRL3.bit.ADCCLKPS = 7;
AdcRegs.ADCTRL3.bit.SMODE_SEL = 1;
AdcRegs.ADCMAXCONV.bit.MAX_CONV1 = 7;
AdcRegs.ADCCHSELSEQ1.bit.CONV00 = 0;
AdcRegs.ADCCHSELSEQ1.bit.CONV01 = 1;
AdcRegs.ADCCHSELSEQ1.bit.CONV02 = 2;
AdcRegs.ADCCHSELSEQ1.bit.CONV03 = 3;
AdcRegs.ADCCHSELSEQ2.bit.CONV04 = 4;
AdcRegs.ADCCHSELSEQ2.bit.CONV05 = 5;
AdcRegs.ADCCHSELSEQ2.bit.CONV06 = 6;
AdcRegs.ADCCHSELSEQ2.bit.CONV07 = 7;
AdcRegs.ADCTRL1.bit.INTPULSEPOS = 1;
PieVectTable.ADCINT1 = &AdcIsr;
IER |= M_INT1;
PieCtrlRegs.PIEIER1.bit.INTx1 = 1;
AdcRegs.ADCTRL1.bit.ADCENABLE = 1;
EDIS;
}
void main(void)
{
InitSysCtrl();
EINT;
InitPieCtrl();
InitPieVectTable();
AdcInit();
for (;;) {
while (SampleFlag == 0)
;
SampleFlag = 0;
// 此处可进行数据处理
}
}
```
在这个例子中,我们使用了ADC中断来采样8个通道的数据,并将其存储在AdcBuf数组中。每次ADC中断被触发,SampleFlag标志会被设置为1,然后在主循环中进行数据处理。注意,在AdcInit函数中需要配置ADC的各项参数,使其符合实际需求。
DSP28335CCS配置
在配置DSP28335CCS时,需要引用一些头文件和库文件。其中,引用了DSP2833x_GlobalPrototypes.h、DSP2833x_ePwm_defines.h、DSP2833x_Dma_defines.h、DSP2833x_I2C_defines.h、DSP2833x_DefaultISR.h等头文件\[2\]。此外,还需要引用DSP2833x_Device.h和DSP2833x_Examples.h这两个头文件\[3\]。这些头文件包含了DSP28335的设备和示例代码的定义和声明。在配置过程中,还需要根据具体需求进行相应的设置和编程,以实现所需的功能。
#### 引用[.reference_title]
- *1* [2、DSP TMS320F28335介绍](https://blog.csdn.net/WelanCF/article/details/127166254)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* *3* [CCS6.0 DSP28335工程配置问题](https://blog.csdn.net/lamusique/article/details/76374344)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]