sinewave.ini
来自「TI的单片机ADUC812的AD例程」· INI 代码 · 共 31 行
INI
31 行
signal void analog0_sine (float limit) {
float i;
float sine;
printf ("Analog0_sine (%f) entered.\n", limit);
while (1) { /* forever */
/* SIN swings from -1 to 1 so... adjust it to swing from 0 to 1 */
/* This is a Taylor series that calculates SIN */
/* i is the angle where -1.0 = -pi/2 and 1.0 = +pi/2 */
for (i = -1.0; i < 1.0; i += 0.01) {
sine = i * (1.570796329 - i * i * (0.6459640960 - i * i * (0.07969262599 - i * i * (0.004681754102 - i * i * (0.0001604411842)))));
/* printf ("SIN(%4f) = %6f\n", i * 90.0, sine); */
ain0 = ((sine + 1.0) / 2.0) * limit;
twatch (2000000);
}
for (i = 1.0; i > -1.0; i -= 0.01) {
sine = i * (1.570796329 - i * i * (0.6459640960 - i * i * (0.07969262599 - i * i * (0.004681754102 - i * i * (0.0001604411842)))));
/* printf ("SIN(%4f) = %6f\n", i * 90.0, sine); */
ain0 = ((sine + 1.0) / 2.0) * limit;
twatch (2000000);
}
}
}
analog0_sine (2.500)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?