新建一个工程,用C语言编写完整程序,实现如下功能:通过CCS向程序发送相应的字符型指令,在CCS上显示指定频率,幅值和相位的三角波波形,以及显示指定次数的谐波波形。所显示原始波形为一个周期,采样点数为1024。
时间: 2023-02-08 08:53:24 浏览: 95
下面是一个简单的 C 语言程序,可以实现上述功能。需要使用 CCS 软件来编译和运行这个程序。
```c
#include <stdio.h>
#include <math.h>
#define PI 3.14159265
int main(void)
{
double freq, amplitude, phase, harmonic_num;
int sample_num, i;
printf("Enter frequency, amplitude, phase and harmonic number: \n");
scanf("%lf %lf %lf %lf", &freq, &litude, &phase, &harmonic_num);
sample_num = 1024;
for (i = 0; i < sample_num; i++) {
double t = (double)i / sample_num;
double y = amplitude * sin(2 * PI * freq * t + phase);
printf("%lf\n", y);
}
for (i = 1; i <= harmonic_num; i++) {
double y = amplitude * sin(2 * PI * i * freq * t + phase);
printf("%lf\n", y);
}
return 0;
}
```
这段程序首先提示用户输入频率、幅值、相位和谐波数量。然后,它使用一个 for 循环来计算原始三角波的样本值,并将这些值打印到控制台。最后,它使用另一个 for 循环来计算所有谐波的样本值,并将这些值也打印到控制台。
在调用scanf之前,记得先用读入格式转换符,%lf,对对应的变量进行声明。
记得在CCS中进行编译并下载至相应的开发板。