пробовал работать с AD9951 так -
Код:#define FTW0 0x04 #define CFR1 0x00 #define CFR2 0x01 #define Fx num //если умножение опорника на num void init() { RSTpin=0; CLKpin=0; CEpin=1; delay_ms(1); RSTpin=1; delay_ms(1); CEpin=0; //delay_us(2); sendbyte(CFR1); sendbyte(0b00000010); sendbyte(0b00000000); sendbyte(0b00010000); sendbyte(0b00000000); sendbyte(CFR2); sendbyte(0b00000000); sendbyte(0b00000000); sendbyte(Fx<<3 | 0x07); //delay_us(2); CEpin=1; } void setf(long Fdds) { dds1=(char)Fdds; dds2=(char)(Fdds>>8); dds3=(char)(Fdds>>16); dds4=(char)(Fdds>>24); CEpin=0; //delay_us(1); sendbyte(FTW0); sendbyte(dds1); sendbyte(dds2); sendbyte(dds3); sendbyte(dds4); //delay_us(2); CEpin=1; }




Ответить с цитированием