そこでまずは「最大振幅1V,周波数60Hzのsin波データを作成し,sin波振幅値でLED点灯箇所を変更する。
ただし,LEDは7箇所使う。また,sin波のサンプリング間隔に注意すること。」
例) 振幅=0.8~1.0V ; LED_D3点灯
振幅=0.6~0.8V ; LED_D4点灯
振幅=0.4~0.6V ; LED_D5点灯
振幅=-0.4~0.4V ; LED_D6点灯
........
という課題に取り組んでいます。
しかし、下記プログラムでは、配列をうまく使っていないとの指摘があり、お手上げです。
下記プログラムの修正、課題を用いてPWMの信号プログラムを教えていただければと思います。
マイコンにもお詳しいのであれば、再度投稿で質問させてください。
よろしくお願いします。
#include<stdio.h>
#include<math.h>
#define N (99)
void main(void)
{
int i = 0;
double a[N], b[N], c[N], pi, t;
pi = 4 * atan(1.0);
printf(" 時間 ωt sinwt\n");
for (t = 0; t < 0.01666666; t = t + 0.0001666666) {
a[N] = t;
b[N] = 120 * pi * t;
c[N] = sin(b[N]);
printf("%5.4lf %5.4lf %5.4lf \n", a[N], b[N], c[N]);
}
}