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;
}
相关推荐
6***379436 分钟前
Java安全
java·开发语言·安全
铁手飞鹰39 分钟前
二叉树(C语言,手撕)
c语言·数据结构·算法·二叉树·深度优先·广度优先
豐儀麟阁贵1 小时前
8.1 异常概述
java·开发语言
czhc11400756631 小时前
C# 1124 接收
开发语言·c#
[J] 一坚3 小时前
深入浅出理解冒泡、插入排序和归并、快速排序递归调用过程
c语言·数据结构·算法·排序算法
司铭鸿3 小时前
祖先关系的数学重构:从家谱到算法的思维跃迁
开发语言·数据结构·人工智能·算法·重构·c#·哈希算法
wavemap3 小时前
先到先得:免费订阅一年ChatGPT Go会员
开发语言·chatgpt·golang
m***D2863 小时前
JavaScript在Node.js中的内存管理
开发语言·javascript·node.js
我叫张小白。3 小时前
JavaScript现代语法梳理:ES6+核心特性详解
开发语言·javascript·typescript·es6
-森屿安年-4 小时前
LeetCode 283. 移动零
开发语言·c++·算法·leetcode