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

📄 main10_3.c

📁 TMS320X240xDSP原理及应用开发指南
💻 C
字号:
/*************************************************************************
文件名:		main10_3.c
日期:      	2007年2月15日
公司(作者):  
描述和说明:	main()函数中启动定时器1,主循环中用时域法计算电压有效值
*************************************************************************/
#include "F2407REGS_c.h"
unsigned long temp_long;			// 临时变量
extern signed long U_data_in[320];	// 10个周波AD采样数据,为长整数
extern unsigned int calculating_flag;// 主循环中有效值计算开关,值为1时计算
extern signed long U_data_analog[32];// 1个周波AD采样模拟数据
unsigned int U_EffectiveValue;		// 电压有效值

main()
{   
	DSP2407_Initializing(); 		// DSP2407芯片初始化	
	IOPort_Initializing(); 			// 数字IO端口初始化	
	Timer1_Initializing();			// 定时器1初始化
	Sampling_Initializing();		// AD7865初始化
	asm(" CLRC INTM");				// 允许总中断 
	T1CON=T1CON|0x0040;				// 位6[TENABLE]1: 启动Timer1 
	while(1)    					// 主循环,可分配非实时性任务
	{
	  if(calculating_flag==1)		// 每10个周波计算1次有效值
	   {
	    U_EffectiveValue=EffectiveValue_timedomain(U_data_in+288);	
	    									// 用时域法计算第10个周波的有效值
	   										// 第10个周波数据起始地址为
     										// U_data_in+9*32=U_data_in+288
		temp_long=2653*U_EffectiveValue;	// 电压物理量尺度变换第一步,时域算法之结果乘2653
		temp_long=temp_long>>10;			// 电压物理量尺度变换第二步,以上之结果再除1024
		U_EffectiveValue=temp_long;			// 最终电压值
		calculating_flag=0;					// 关闭主循环有效值计算开关
	   }
	} 									 								
}

⌨️ 快捷键说明

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