微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > DSP学习交流 > 写个小程序,用EVA的通用定时器1写一个定时 10ms 的中断。....

写个小程序,用EVA的通用定时器1写一个定时 10ms 的中断。....

时间:10-02 整理:3721RD 点击:
写个小程序,用EVA的通用定时器1写一个定时 10ms 的中断。求高手指点一下,新手不太会弄,谢谢啦!

   EALLOW;
   PieVectTable.TINT0 = &TINT0_ISR;       //定时0中断 int0
   EDIS;
   InitCpuTimers();
   ConfigCpuTimer(&CpuTimer0, 150, 10000);//设定定时器中断时间 10000us = 0.01秒
   EALLOW;
   PieCtrlRegs.PIEIER1.bit.INTx7=1;  //定时中断
   IER = IER|M_INT1;
   EDIS;
   EINT;
   ERTM;
   CpuTimer0Regs.TCR.bit.TSS=0;//开启中断

你好,请问你能用EVA里的通用定时器1写个吗?你这是用的CPU定时器0呀!谢谢啦!
其实我的具体要求是:用EVA的通用定时器1写一个定时 10ms 的中断,并且要求以ms为单位可变更,例如,我这个程序写的是10ms,我要是需要100ms的话,把10ms中的10改成100,这样就变成定时100ms的中断了。你会吗?谢谢啦 好心人!

void main()
{
''''''''''''''''''''''
EVA_Timer1();
EALLOW;
PieVectTable.T1PINT=&eva_timer1_isr;
EDIS;
PieCtrlRegs.PIEIER2.all=M_INT4;
IER|=M_INT2;
EINT;
...
}
interrupt void eva_timer1_isr(void)
{
...
EvaRegs.EVAIMRA.bit.T1PINT=1;
EvaRegs.EVAIFRA.bit.T1PINT=1;
PieCtrlRegs.PIEACK.all=PIEACK_GROUP2;
}
void EVA_Timer1()
{
EvaRegs.GPTCONA.all=0;
EvaRegs.T1PR=0x01234;//更改数值就可修改时间
EvaRegs.EVAIMRA.bit.T1PINT=1;
EvaRegs.EVAIFRA.bit.T1PINT=1;
EvaRegs.T1CNT=0X000;
EvaRegs.T1CON.all=0x1740;
}

非常好的资料啊,多谢.

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top