⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main11_1.c

📁 dsp.rar
💻 C
字号:
/*************************************************************************
文件名:		main11_1.c
日期:      	2007年2月15日
公司(作者):  
描述和说明:	main()函数中启动定时器1,主循环中计算32点FFT
*************************************************************************/
#include "F2407REGS_c.h"
unsigned long temp_long;			// 临时变量
unsigned int temp_int;				// 临时变量
unsigned int U1_EffectiveValue;		// 基波电压有效值
extern signed int U_data_in[320];	// 10个周波AD采样数据,为长整数
extern unsigned int calculating_flag;// 主循环中FFT计算开关,值为1时计算
extern signed U_data_analog[32];	// 1个周波AD采样模拟数据
extern int mag[32]; 				// 振幅平方数据缓冲区

main()
{   
	DSP2407_Initializing(); 		// DSP2407芯片初始化	
	IOPort_Initializing(); 			// 数字IO端口初始化	
	Timer1_Initializing();			// 定时器1初始化
	Sampling_Initializing();		// AD7865初始化
    FFT_Initializing();				// FFT初始化
	asm(" CLRC INTM");				// 允许总中断 
	T1CON=T1CON|0x0040;				// 位6[TENABLE]1: 启动Timer1 
	while(1)    					// 主循环,可分配非实时性任务
	{
	  if(calculating_flag==1)		// 每10个周波计算1次有效值
	   {
//		FFT(U_data_analog);			// 可用模拟数据模拟FFT运算
		FFT(U_data_in+288);			// 计算第10个周波的FFT
	   								// 第10个周波数据起始地址为
	   								// U_data_in+9*32=U_data_in+288
		temp_long=mag[1];		    // 基波振幅平方
		temp_int=qsqrt(temp_long);	// 开方后得振幅值
	//======= 电压有效值物理量尺度变换 ========
		U1_EffectiveValue=468*temp_int;		// 基波电压有效值
		calculating_flag=0;					// 关闭主循环FFT计算开关
	   }
	} 									 								
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -