当前位置: 首页 > article >正文

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;
}


http://www.kler.cn/a/149250.html

相关文章:

  • STM32问题集
  • c++写一个死锁并且自己解锁
  • UniApp 应用、页面与组件的生命周期详解
  • Mac intel 安装IDEA激活时遇到问题 jetbrains.vmoptions.plist: Permission denied
  • WebAssembly在现代Web开发中的应用
  • C# 模拟浏览器自操作(自动化办公)
  • 宕机对独立服务器会有啥影响?
  • 音视频5、libavformat-1
  • springcloud nacos配置优先级研究及配置管理最佳实践
  • linux logrotate日志轮询设置案例一
  • 网络安全--基于Kali的网络扫描基础技术
  • LuatOS-SOC接口文档(air780E)--protobuf - ProtoBuffs编解码
  • 【GitLab】流水线入门
  • 双音多频的通信(数字信号处理实验3)
  • 使用Python类型提示保持代码整洁,提高可读性
  • awk笔记231129
  • 【智能算法】季节优化算法Seasons optimization algorithm【2023最新智能优化算法合集】
  • 第二证券:五日线是什么颜色的线?
  • 基于单片机的烟雾检测报警装置(论文+源码)
  • 【Python小游戏】推荐8款自由的Python游戏项目
  • embeddings
  • C++学习之路(十一)C++ 用Qt5实现一个工具箱(增加一个进制转换器功能)- 示例代码拆分讲解
  • 黄金比例设计软件Goldie App mac中文版介绍
  • 【C数据(一)】数据类型和变量你真的理解了吗?来看看这篇
  • winform 程序多语言
  • Python 中文完整教程目录