?? main10_3.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 + -