非常简单,容易上手,只要你有一块ESP32的开发板,用arduino程序就能完成一个1Hz-40MHz可调的信号发生器和一个测量1Hz-40MHz的频率计,
也可以自己产生一个信号自己测试。
其中用到了ESP32的Pulse Count Controller(PCNT,脉冲计数控制器) ,定时器(Timer)和LED控制器或LEDC。
可以在Arduino IDE Serial Console中查看频率测量值。可以使用同一控制台输入从1 Hz到40 MHz的值所需的测试频率。
mDuty可以设置占空比,缺省是50%
可以通过调整Janela的值来校准频率检测。
程序的每一行,都有中文注释,非常容易懂。
选择这个方式编译烧写固件。
只用多安装一个LCD的库,编译就不会出问题,而且有LCD就可以直接显示:
#define LCD_I2C_ON 或 #define LCD_I2C_OFF // ON如果使用这个显示器
接线图如下 ,缺省不接LCD,直接在控制台显示频率。
振荡器的脉冲输出是在GPIO引脚33上,输入检测是在GPIO 34,
把33和34连接起来,就可以测试自己信号发生器产生的频率了。
检测其它的信号源,只要接入34脚和GND,就OK了。
ESP 32可处理3.3伏的电压信号,因此如果要测量其他电压水平的信号,请自行转换。
源代码下载在这里: