打印

求帮忙!!!

[复制链接]
1105|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本人在读书,原本在计算机学院学C++,,被导师强行拉过来机械学院研究全息照相,为了能研究生毕业,不敢说什么啊,,,导师上的DSP课程,讲过三次课,我平时没时间看,天天看论文写报告,最近才看了一个星期dsp,因为导师说我要是拿不出来东西给她看,她是不会让我过这门课的,于是我上网搜了这个简单的基于F28335的通过定时器中断控制LED的程序,然后直接新建了一个项目,把代码粘贴进去,刚开始提示找不到头文件,后来网上搜了一下,包含include路径就可以了,接下来就出现了截图所示的问题,还有两天交,求大神帮忙,真的感激不尽!!!我的邮箱是1582426134@qq.com

#include "DSP2833x_Device.h"     // DSP2833x Headerfile Include File
#include "DSP2833x_Examples.h"   // DSP2833x Examples Include Fil
// Prototype statements for functions found within this file.
interrupt void cpu_timer0_isr(void);        //中断函数
//interrupt void cpu_timer1_isr(void);
//interrupt void cpu_timer2_isr(void);
//#define mem (*(unsigned short int *)0x200000)
#define LED (*(unsigned short int *)0x180000)
#define startCpuTimer0() CpuTimer0Regs.TCR.bit.TSS=0  //停止定时器
int i=0,ncount;
unsigned int uLBD;
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();
        // Step 2. Initalize GPIO:
        // This example function is found in the DSP2833x_Gpio.c file and // illustrates how to set the GPIO to it's default state.
        // InitGpio();  // Skipped for this example
        InitXintf16Gpio(); //zq
        // Step 3. Clear all interrupts and initialize PIE vector table:
        // Disable CPU interrupts
         DINT;    //Disable Interrupt 禁止中断
         // Initialize the PIE control registers to their default state.
         // The default state is all PIE interrupts disabled and flags
         // are cleared.
         // This function is found in the DSP2833x_PieCtrl.c file.
         InitPieCtrl();    //初始化PIE模块
         // Disable CPU interrupts and clear all CPU interrupt flags:
         IER = 0x0000;
         IFR = 0x0000;
         // Initialize the PIE vector table with pointers to the shell Interrupt
         // Service Routines (ISR).
         // This will populate the entire table, even if the interrupt
         // is not used in this example.  This is useful for debug purposes.
         // The shell ISR routines are found in DSP2833x_DefaultIsr.c.
         // This function is found in DSP2833x_PieVect.c.
         InitPieVectTable();
         // Interrupts that are used in this example are re-mapped to
         // ISR functions found within this file.
         EALLOW;  // This is needed to write to EALLOW protected registers
         PieVectTable.TINT0 = &cpu_timer0_isr;
         //PieVectTable.XINT13 = &cpu_timer1_isr;
         //PieVectTable.TINT2 = &cpu_timer2_isr;
         EDIS;    // This is needed to disable write to EALLOW protected registers
         // Step 4. Initialize the Device Peripheral. This function can be
         //         found in DSP2833x_CpuTimers.c
         InitCpuTimers();   // For this example, only initialize the Cpu Timers
#if (CPU_FRQ_150MHZ)
         // Configure CPU-Timer 0, 1, and 2 to interrupt every second:
         // 150MHz CPU Freq, 1 second Period (in uSeconds)
         ConfigCpuTimer(&CpuTimer0, 150, 1000000);
         //ConfigCpuTimer(&CpuTimer1, 150, 1000000);
         //ConfigCpuTimer(&CpuTimer2, 150, 1000000);
#endif
#if (CPU_FRQ_100MHZ)
         // Configure CPU-Timer 0, 1, and 2 to interrupt every second:
         // 100MHz CPU Freq, 1 second Period (in uSeconds)
         ConfigCpuTimer(&CpuTimer0, 100, 1000000);
         //ConfigCpuTimer(&CpuTimer1, 100, 1000000);
         //ConfigCpuTimer(&CpuTimer2, 100, 1000000);
#endif
         // To ensure precise timing, use write-only instructions to write to the entire register. Therefore, if any
         // of the configuration bits are changed in ConfigCpuTimer and InitCpuTimers (in DSP2833x_CpuTimers.h), the
         // below settings must also be updated.
         //CpuTimer0Regs.TCR.all = 0x4001;
         // Use write-only instruction to set TSS bit = 0
         //CpuTimer1Regs.TCR.all = 0x4001;
         // Use write-only instruction to set TSS bit = 0
         //CpuTimer2Regs.TCR.all = 0x4001;
         // Use write-only instruction to set TSS bit = 0
         // Step 5. User specific code, enable interrupts:
         CpuTimer0Regs.PRD.all=0xffff;
         CpuTimer0Regs.TPR.all=0;
         CpuTimer0Regs.TIM.all=0;
         CpuTimer0Regs.TPRH.all=0;
         CpuTimer0Regs.TCR.bit.TSS=1;
         CpuTimer0Regs.TCR.bit.SOFT=1;
         CpuTimer0Regs.TCR.bit.FREE=1;
         CpuTimer0Regs.TCR.bit.TRB=1;
         CpuTimer0Regs.TCR.bit.TIE=1;
         CpuTimer0.InterruptCount=0;
         startCpuTimer0();
         // Enable CPU int1 which is connected to CPU-Timer 0, CPU int13
         // which is connected to CPU-Timer 1, and CPU int 14, which is connected
         // to CPU-Timer 2:
         IER |= M_INT1;     //开CPU中断1
         //IER |= M_INT13;
         //IER |= M_INT14;
         // Enable TINT0 in the PIE: Group 1 interrupt 7
         EINT;   // Enable Global interrupt INTM
         ERTM;   // Enable Global realtime interrupt DBGM
         // Step 6. IDLE loop. Just sit and loop forever (optional):
         for(;;)   {     }
}
interrupt void cpu_timer0_isr(void)
{
        CpuTimer0.InterruptCount++;
        // Acknowledge this interrupt to receive more interrupts from group 1
        PieCtrlRegs.PIEACK.all = PIEACK_GROUP1;
        CpuTimer0Regs.TCR.bit.TIF=1;
        CpuTimer0Regs.TCR.bit.TRB=1;
        if(ncount==0)    {  LED=uLBD;        uLBD++;uLBD%=16;    }
        ncount++;
        ncount%=194;
}


相关帖子

沙发
JY-DX-JY| | 2016-12-9 17:15 | 只看该作者
感觉是头文件的问题

使用特权

评论回复
板凳
zhangruizhang|  楼主 | 2016-12-9 18:34 | 只看该作者
JY-DX-JY 发表于 2016-12-9 17:15
感觉是头文件的问题

怎么修改呢

使用特权

评论回复
地板
JY-DX-JY| | 2016-12-10 11:53 | 只看该作者

可能是路径的问题

使用特权

评论回复
5
zhangmangui| | 2016-12-10 21:56 | 只看该作者
下载controlSUITE吧  

使用特权

评论回复
6
长的帅怪我落| | 2016-12-12 15:35 | 只看该作者
你说你不懂新建工程干啥,直接下载例程打开就行了。。。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

5

帖子

0

粉丝