⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ad9954.c

📁 Arm 控制ad9954源程序
💻 C
字号:
/*------------------------------------------------------------
  FILE NAME : ad9954.c
DESCRIPTION : fuction of ad9954.
VERSION     : 0.1.0
AUTHOR      : 
CREATE DATE : 2.13.2008
MODIFY DATE : 
LOGS        :
--------------------------------------------------------------*/
//--------------------Include files-----------------------//
#include <lpc213x.h>
#include "..\header\ad9954.h"
#include "..\header\spi.h"
#include "..\header\common.h"
#include "..\header\arm.h"

//-------------Function area--------------------------//
/*---------------------------------------------------------------
NAME       : 
ENTRY  TYPE: 
RETURN TYPE: 
DESCRIPE   : funtion for ad9954 pll set
-----------------------------------------------------------------*/
/* int set_ad9954_pll(int mult)
{
	
	if(mult<3 | mult>21)return 0;
	else
	
	if(mult>(160/AD9954_CLOCK)){ //Set PLL VCO gain;
		mult<<=2;
		mult|=0x80;
	}else {
		mult<<=2;
	}
	
	
	AD9954_CS_OFF ;
	AD9954_UPDATE_OFF ;
	
	SendData(0x01);			
	SendData((unsigned char)mult);
	SendData(0x00);
	SendData(0x00);
	
	AD9954_UPDATE_ON ;
	AD9954_CS_ON;
	
	return 1;
} 			  */
/*---------------------------------------------------------------
NAME       : 
ENTRY  TYPE: 
RETURN TYPE: 
DESCRIPE   :ad9954 intial fuction
-----------------------------------------------------------------*/

void AD9954_init()
{  
   INITIALIZE_AD9954_PORT;
   AD9954_DDSCR_OFF ;
	Delay_NS(2);
   AD9954_DDSCR_ON;
   	Delay_NS(2);
	 AD9954_DDSCR_OFF ;
	 	Delay_NS(2);
   AD9954_DDSSYN_OFF;	 
   //If the SYN pin is high,there will terminate the current communication cycle.
   // when it turn to low,it is the start of the new cycle of following 8 bits. 
   AD9954_CS_ON;
      AD9954_UPDATE_OFF;
   AD9954_DDSCLK_OFF;
   AD9954_DDSCLK_OFF;
   AD9954_DDSOSK_OFF;
	AD9954_DDSSDI_OFF;
   //set_ad9954_pll(AD9954_PLL_MULTIPLE);
}
/*---------------------------------------------------------------
NAME       : 
ENTRY  TYPE: 
RETURN TYPE: 
DESCRIPE   : ad9954 
-----------------------------------------------------------------*/
void write_CFR1(unsigned char w1,unsigned char w2,unsigned char w3,unsigned char w4)
{ 
  AD9954_CS_OFF;
  AD9954_CS_OFF;
 // AD9954_UPDATE_OFF;
  SendData (0x00);
  SendData (w1);
  SendData (w2);
  SendData (w3);
  SendData (w4);
  AD9954_CS_ON;
  AD9954_CS_ON;
  //AD9954_UPDATE_ON;

}
/*---------------------------------------------------------------
NAME       : 
ENTRY  TYPE: 
RETURN TYPE: 
DESCRIPE   : 
-----------------------------------------------------------------*/
void write_CFR2(unsigned char w1,unsigned char w2,unsigned char w3)
{ 
  AD9954_CS_OFF;
  AD9954_CS_OFF;
 // AD9954_UPDATE_OFF;
  SendData (0x01);
  SendData (w1);
  SendData (w2);						  
  SendData (w3);
  AD9954_CS_ON;
  AD9954_CS_ON;
 // AD9954_UPDATE_ON;
}  
 /*---------------------------------------------------------------
NAME       : 
ENTRY  TYPE: 
RETURN TYPE: 
DESCRIPE   : 
-----------------------------------------------------------------*/
void write_FTW0(unsigned char w1,unsigned char w2,unsigned char w3,unsigned char w4)
 { 
  
  AD9954_CS_OFF;
  AD9954_CS_OFF;
 // AD9954_UPDATE_OFF;
  SendData (0x04);
  SendData (w1);
  SendData (w2);
  SendData (w3);
  SendData (w4);
  AD9954_CS_ON;
  AD9954_CS_ON;
 // AD9954_UPDATE_ON;

 }

void write_ASF(unst16 w1,unst16 w2)
 {
    AD9954_CS_OFF;
  AD9954_CS_OFF;
  //AD9954_UPDATE_OFF;
  SendData (0x02);
  SendData (w1);
  SendData (w2); 
  AD9954_CS_ON;
  AD9954_CS_ON;
 // AD9954_UPDATE_ON;
 }
extern void write_POW0(unst16 w1,unst16 w2)
{
  AD9954_CS_OFF;
  AD9954_CS_OFF;
 // AD9954_UPDATE_OFF;
  SendData (0x05);
  SendData (w1);
  SendData (w2);
  AD9954_CS_ON;
  AD9954_CS_ON;
 // AD9954_UPDATE_ON;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -