浮点运算测试函数
#include "DSP2833x_Device.h"
#include <math.h>
float ans1,ans2,ans3;
Uint32 TESTCOUNT1;
Uint32 TESTCOUNT2;
Uint32 TESTCOUNT3;
float y;
float m1, m2;
float x1, x2;
float b1, b2;
void testsin()
{
ans1=sin(y);
}
void testadd()
{
ans2=m1+m2;
}
void testdivision()
{
int i=0;
for(i=0;i<1000;i++)
{
ans3=i/x2;
}
}
void main()
{
y = 1.673542;
m1 = 1.673542;
m2 = 6.0234561;
x1 = 1.23425748;
x2 = 1.23844379;
// 使用定时器0 来计数,单位为SysCLK,即系统的时钟周期数,本系统的时钟为150MHz。
//Step 1: 设置用来计算此中断执行时间的定时器0
CpuTimer0Regs.TCR.bit.TRB = 1;//重新装载定时器0 后,定时器0 的计数值为周期寄存器值,计算器开始向下计数
testsin();
TESTCOUNT1= CpuTimer0Regs.PRD.all - CpuTimer0Regs.TIM.all;
CpuTimer0Regs.TCR.bit.TRB = 1;//重新装载定时器0 后,定时器0 的计数值为周期寄存器值,计算器开始向下计数
testadd();
TESTCOUNT2= CpuTimer0Regs.PRD.all - CpuTimer0Regs.TIM.all;
CpuTimer0Regs.TCR.bit.TRB = 1;//重新装载定时器0 后,定时器0 的计数值为周期寄存器值,计算器开始向下计数
testdivision();
TESTCOUNT3= CpuTimer0Regs.PRD.all - CpuTimer0Regs.TIM.all;
}