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;
}
相关推荐
qeen878 分钟前
【数据结构】栈及其C语言模拟实现
c语言·数据结构·学习·
Aurorar0rua11 分钟前
CS50 x 2024 Notes C - 04
java·开发语言
我不是懒洋洋11 分钟前
深入理解C语言指针:从一级指针到函数指针
c语言
iCxhust15 分钟前
C#程序,窗体1向窗体2的textbox控件写入字符串“hello”
开发语言·c#
低客的黑调22 分钟前
Redis-不止是缓存
java·开发语言·数据库
花间相见26 分钟前
【大模型微调与部署02】—— ms-swift 自定义数据集完全教程:格式、dataset_info 配置、多格式兼容实战
开发语言·ssh·swift
Hello--_--World30 分钟前
JS:闭包、函数柯里化、工厂函数、偏函数、立即执行函数 相关知识点与面试题
开发语言·javascript·ecmascript
一只幸运猫.34 分钟前
字节跳动Java大厂面试版
java·开发语言·面试
xier_ran42 分钟前
【C++】“内部”、“外部”、“派生类”、“友元“类
java·开发语言·c++
熬夜敲代码的猫1 小时前
C/C++:内存管理
c语言·c++·动态内存管理