PWM 正玄波形 通过C语言生成

复制代码
#include <stdio.h>
#include <math.h>
#include <stdint.h>

#define SAMPLE_POINT_NUM            (200)        /* 需要生成的点的个数 */
#define SINE_MAX                    (255)       /* sin 函数幅值 */
#define PI                          (3.1415926) /* 数学中的常量:Π */
#define POINT_BUFFER_LEN            (400)

int generate_data[POINT_BUFFER_LEN]; /* 生成的数据放在此数组中 */

void get_sin_data(unsigned int point)
{
    unsigned int i = 0;
    float step = 0.0;
    float data = 0.0;
    int tem = 0;

    step = 1 * PI / point; /* 将 sin 函数从 [0-2Π] 等分为 N 个点,则每个点的步长为 2Π/point_num */

    for (i = 0; i < point; i++)
    {
        data = SINE_MAX * sin(step * i);
        tem = (int)data;
        generate_data[i] = tem;
    }
}

int main(int argc, char *argv[])
{
    get_sin_data(SAMPLE_POINT_NUM);

    for (int i = 0; i < SAMPLE_POINT_NUM; i++)
    {
        printf("%d ,", generate_data[i]);
    }

    printf("\r\n");

    return 0;
}
相关推荐
十五年专注C++开发12 分钟前
CMake实践:指定gcc版本编译和交叉编译
linux·开发语言·c++·cmake·自动化编译
勤奋的知更鸟22 分钟前
Matplotlib 绘图库使用技巧介绍
开发语言·python·matplotlib
上位机付工1 小时前
C#上位机通过WebApi访问WinCC
开发语言·c#·上位机·webapi·wincc
微信公众号:AI创造财富6 小时前
conda create -n modelscope python=3.8 conda: command not found
开发语言·python·conda
鱼会上树cy6 小时前
空间解析几何10:三维圆弧拟合【附MATLAB代码】
开发语言·matlab
IT艺术家-rookie6 小时前
golang--channel的关键特性和行为
开发语言·后端·golang
凌肖战7 小时前
力扣网C语言编程题:三数之和
c语言·算法·leetcode
我最厉害。,。9 小时前
C2远控篇&C&C++&ShellCode分离&File提取&Http协议&Argv参数&Sock管道
c语言·c++·http
Cyrus_柯9 小时前
C++(面向对象编程——关键字)
开发语言·c++·算法·面向对象
大龄Python青年9 小时前
C语言 函数怎样通过数组来返回多个值
c语言·开发语言