📄 main9_4.c
字号:
/*************************************************************************
文件名: main9_4.c
日期: 2007年01月18日
公司(作者):
描述和说明: main()函数中启动定时器1测量代码执行时间
*************************************************************************/
#include "F2407REGS_c.h"
#include "math.h" // 包含头文件math.h,因为sin函数
// 在math.h中声明
#include "qmath.h" // 包含头文件qmath.h,因为qsqrt函数
// 在qmath.h中声明
double x_double,y_double; // sqrt函数输入、输出变量都是双精度浮点数
unsigned long x_long; // qsqrt函数输入变量,无符号长整数
unsigned short y_short; // qsqrt函数输出变量,无符号短整数
unsigned int CPU_cycle; // cpu机器周期数
main()
{
DSP2407_Initializing(); // DSP2407芯片初始化
Timer1_Initializing(); // 定时器1初始化
asm(" CLRC INTM"); // 允许总中断
x_double=1000001.06; // sqrt输入双精度浮点数赋值
x_long=1000001; // qsqrt输入长整数赋值
T1CON=T1CON|0x0040; // 位6[TENABLE]1: 启动Timer1
/****************************************************************/
/* 用sqrt运行支持库函数计算开平方 */
/****************************************************************/
y_double=sqrt(x_double); // 输出双精度浮点数,
// 返回值=999.9836,存在误差
/****************************************************************/
/* 用qsqrt定点数学库函数计算开平方 */
/****************************************************************/
// y_short=qsqrt(x_long); // 输出16位短整数999,存在误差
CPU_cycle=T1CNT; // 读cup机器周期数
T1CON=T1CON&0x0FFBF; // 位6[TENABLE]0: 停止Timer1
while(1) // 主循环,可分配非实时性任务
{
asm(" nop "); // 空操作,等待中断
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -