AD5791 と LPC1768 を搭載した VCO があります。AD5791 の DAC レジスタを読み書きできますが、出力周波数または電圧を変更できません。AD5791 を電源に直接接続すると、期待どおりに周波数を変更できます。したがって、これはソフトウェアの問題だと思います。私のコードはここにあります:
#include "mbed.h"
SPI spi(p5, p6, p7); // mosi, miso, sclk
DigitalOut cs(p8);
DigitalOut LDAC(p9);
DigitalOut Reset(p11);
DigitalOut CLR(p10);
int main()
{
spi.format(8,0);
spi.frequency(10000); // you can speedup later
cs = 1;
Reset = 0;
wait_us(1);
LDAC = 0;
CLR = 1;
Reset = 1; // the chip is reset now
cs = 0;
spi.write(20);
spi.write(0);
spi.write(0);
cs= 1; // this will activate dac
cs = 0;
spi.write(0x14);
spi.write(0xCC);
spi.write(0xCD);
cs = 1; // set output register - shall output some value
do{
}while(1); // wait forever to test the output value
}
どんな入力でも大歓迎です!ありがとうございました!