我是控制器使用的新手。 我正在设置一个STM32F769控制器(使用Mbed在线编译器),我的目标是获得一个PWM输出,该PWM输出根据模拟输入改变其频率。我做了一些基本的编码,但是有一个问题。当我以1Hz的模拟输入频率检查示波器的输出时,其工作正常,但是当我以100Hz的模拟输入检查示波器时,输出存在延迟,并且输入错误的值。我不明白为什么,因为这块板更快(216 MHZ),我不应该面对这样的问题。 (如果有人也可以解释一下,是否可以在216MHz或其他最大频率下使用该板?如何?)
第一次用户
{
meas_r=0;
for(int i=1;i<=1024;i++)
{
meas_r = meas_r+analog_value.read();
}
meas_r=meas_r/1024;
meas_v = meas_r * 3300;
out_freq=50000+(meas_v*50);
pulse.period( 1.0 / out_freq);
}
}
它应该在100Hz模拟输入上工作,因为它在1Hz上工作。
答案 0 :(得分:0)
216MHz可能是处理器可以运行的最大时钟频率,但这并不意味着它可以从其端口输入/输出那么多频率。
如果时序和准确性对于解决您遇到的问题真的很重要,并且如果您不能通过DSP,MPU,MCU,CPU,GPU等解决问题,那么我建议您使用FPGA解决问题。