工具/软件:Code Composer Studio
大家好。 这是圣阿斯。 我正在使用 CCS v7。 我的代码在 CCS 中运行良好、但我需要一些帮助、以了解如何使用计时器每22.67uS 执行一次代码。 是否有人能帮助我这么做?
请在下面找到我的代码:
#include "F28x_Project.h"//设备头文件和示例 include 文件
#include
#include
#include
define MAX 400
浮点缓冲器[400]={0};
浮点结果[500]={0};
浮点输入[500]={0};
int p=0;
浮动过滤器[400]={0.0163、0.0069、0101、083、0088、0109、0.0165、0.024、0.0091、094、0.0081、0114、000、000、000、0150、340、039、039、039、039、039、070、078、078、078、078、078、078、080、080、080、080、078、080、080、080、080、080、039、080、080、080、039、080、080、080、039、080、080、080、039、080、080、080、080、
int 指针= 0;
void getAudioSamesFromFile (file * sampleFile、float samples[])//函数假使其类似于在缓冲区中存储值
{
浮点采样;
int i=0;
对于(i=0;i <=500;i++)
{
fscanf (sampleFile、"%e"、&sample);
Samples[i]=采样;
}
返回;
}
float read_float_ext_eeprom (float input[]、int *counter)//函数假设 ADC 正在从缓冲区读取值
{
float next =输入[*counter];
(*计数器)++;
返回下一个;
}
浮点校正()
{
float out = 0;
int i=0;
对于(I = 0;I < MAX;I++)
{
int index =((i + pointer + 1)% MAX);
OUT = OUT +(buffer[index-1]* filter[i]);
}
result[p]= out;
P++;
退换货;
}
int main (空)
+{
clock_t t;
t =时钟();
文件*InputFile;
InputFile = fopen ("C:/Users/ss474/workspace_v7/sample_7060.csv、"r");
getAudioSamesFromFile (InputFile、输入);
fclose (InputFile);
int 计数器= 0;
浮点采样;
int j=0;
for (j=0;j<500;j++)
{
采样= READ_FLOAT_EXT_EEPROM (输入、&计数器);//从 ADC 读取值
buffer[pointer]=采样;
corr();//与散弹枪图案的相关性
指针++;
if (指针== MAX)
{
指针= 0;
}
}
浮点数 d;
d =时钟()-t;
}
我希望每22.67uS 执行一次代码、即、使用中断服务例程内的计时器执行44.1kHz 的代码。
谢谢你。
此致、
圣阿斯