【发布时间】:2021-08-24 08:42:35
【问题描述】:
我正在使用 STM32F4 探索板。我使用 DAC Channel1 生成了一个 10Hz 的正弦波。
根据 STM 的应用说明,正弦波生成应按如下方式完成:
它可用于使用以下公式产生所需的频率:
这是我填充 100 个样本的简单函数。因为我使用 fTimerTRGO = 1kHz,所以 fSinewave 正确地以 1k/100 = 10Hz 出现
Appl_getSineVal();
HAL_DAC_Start_DMA(&hdac, DAC_CHANNEL_1, (uint32_t*)Appl_u16SineValue, 100, DAC_ALIGN_12B_R);
.
.
.
.
void Appl_getSineVal(void)
{
for (uint8_t i=0; i<100; i+=1){
Appl_u16SineValue[i] = ((sin(i*2*PI/100) + 1)*(4096/2));
}
}
现在我想在同一通道上加上另一个频率为 5Hz 的正弦波,以获得混合频率信号。我需要帮助如何解决这个问题。
我尝试用不同的正弦值填充 Appl_u16SineValue[] 数组,但这些尝试在这里不值得一提。
【问题讨论】:
标签: signal-processing stm32 dac sine-wave