硬汉嵌入式论坛

 找回密码
 立即注册
查看: 558|回复: 1
收起左侧

[问题解答] H7-TOOL dac1_SetSinWave函数问题

[复制链接]

1

主题

2

回帖

5

积分

新手上路

积分
5
发表于 2022-12-9 14:18:46 | 显示全部楼层 |阅读模式
/*
*********************************************************************************************************
*    函 数 名: dac1_SetSinWave
*    功能说明: DAC1输出正弦波
*    形    参: _vpp : 幅度 0-2047;
*              _freq : 频率
*    返 回 值: 无
*********************************************************************************************************
*/
void dac1_SetSinWave(uint16_t _bottom, uint16_t _top, uint32_t _freq)
{
    uint16_t i;
    uint16_t mid; /* 中值 */
    uint16_t att; /* 幅度 */

    mid = (_bottom + _top) / 2; /* 0位的值 */
    att = (_top - _bottom) / 2; /* 正弦波幅度,峰峰值除以2 */

    for (i = 0; i < WAVE_SAMPLE_SIZE; i++)
    {
        g_Wave1[i] = mid + (int32_t)(att * sin((i * 2 * 3.14159) / WAVE_SAMPLE_SIZE));
    }

    bsp_StartDAC1_DMA((uint32_t)&g_Wave1, WAVE_SAMPLE_SIZE, _freq * WAVE_SAMPLE_SIZE);
}

问一下其中频率Freq怎么理解

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107049
QQ
发表于 2022-12-9 15:44:15 | 显示全部楼层
比如我们是128个点表示波形的一个周期,那么我们定时器触发够128次才算一个周期,1秒触发1次128点就是1Hz波形,2次就是2*128点,依次类推,Freq次就是Freq*128
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-16 02:16 , Processed in 0.146492 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表