|

楼主 |
发表于 2021-2-21 13:06:08
|
显示全部楼层
肯定是可以的,但是AD9851的晶振频率和9850不同,控制方法基本一样,由于我手头上没有9851可以试,只能提示你改三个个地方试试。
1)下面两个函数中的 125000000.0 改成 180000000.0
AD9850SPI::AD9850SPI(int pinNumber) {
FQ_UD = pinNumber; // pin to select AD9850 chip
RESET = 8; // pin to reset AD9850
deltaphase = 0;
phase = 0;
calibFreq = 125000000.0;
}
void AD9850SPI :: setFactor(float factor) {
if (factor == 1.0) return;
calibFreq = 125000000.0*factor;
}
2)下面这个函数中的 phase =0; 改成 phase = 1;
void AD9850SPI::setfreq(double f) {
deltaphase = f * 4294967296.0 / calibFreq;
phase = 0;
update();
}
|
|