пробовал работать с 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; 
   }