1.问题背景
dsp断断续续用了也快一年了,以前就用用CAN,最近初次尝试用ad模块,想用来采采信号。但是无奈手生,以及ADC配置过程中出现了一些问题,中断服务程序进不去,后来看了TI官方的例程,终于又想明白,这次一定得记下来,搞工科做实验的,哪有什么都记得住,尤其是不常用的。
2.配置中断的步骤
严格按照TI或者成熟的例程来就不会错,其实这些例程人家模板都给做好了,按照段落填写就是。
下面贴上TI的"Example_2833xAdcSoc"例程。
// Included Files
//
#include "DSP28x_Project.h" // Device Headerfile and Examples Include File
//
// Function Prototypes
//
__interrupt void adc_isr(void);
//**中断函数声明,如果不想用库里自带的函数名字,那就在这里声明一个,这样就可以根据自己需要设置中断函数的名字**
//
// Globals
//
Uint16 LoopCount;
Uint16 ConversionCount;
Uint16 Voltage1[10];
Uint16 Voltage2[10];
//
// Main
//
void main(void)
{
//
// Step 1. Initialize System Control:
// PLL, WatchDog, enable Peripheral Clocks
// This example function is found in the DSP2833x_SysCtrl.c file.
//
InitSysCtrl();
EALLOW;
#if (CPU_FRQ_150MHZ) // Default - 150 MHz SYSCLKOUT
//
// HSPCLK = SYSCLKOUT/2*ADC_MODCLK2 = 150/(2*3) = 25.0 MHz
//
#define ADC_MODCLK 0x3
#endif
#if (CPU_FRQ_100MHZ)