我正在使用 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[] 数组,但这些尝试在这里不值得一提。