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

📄 ad9854.c

📁 程序在IAR上调试
💻 C
字号:
//日期:12.25
#include"AD9854.h"
#include  <msp430x16x.h>




////////////////////////////////////////////////////////////////////
//                                                                //
//                             BASIC FUNCTION                     //
//                                                                //
////////////////////////////////////////////////////////////////////




//函数功能:写8位控制字 
//输入参数: command(指针,指向unsigned char数据)
//MSB 最高位优先(9854默认)
//SDIO为双向数据线(9854默认)
//******************************************************************
void Write_AD9854_C(unsigned char *command)                                    
{
   	for(;command<command+8;command++)
	{
         	if(*command) 
		AD9854_SDIO_UP;
		else   
		AD9854_SDIO_DOWN;
		AD9854_SCLK_UP;
	  	_NOP();
          	_NOP();
          	AD9854_SCLK_DOWN;
		_NOP();              //这句可能是多余的
	}
}
//******************************************************************





//函数功能:写8位数据 
//输入参数: data(指针,指向unsigned char数据)
//MSB 最高位优先(9854默认)
//SDIO为双向数据线(9854默认)
//******************************************************************
void Write_AD9854_D(unsigned char *data)
{
	for(;data<data+8;data++)
	{
         	if(*data) 
		AD9854_SDIO_UP;
		else   
		AD9854_SDIO_DOWN;
		AD9854_SCLK_UP;
	  	_NOP();
          	_NOP();
          	AD9854_SCLK_DOWN;
		_NOP();              //这句可能是多余的
	}
}    
//******************************************************************





//函数功能:写 Frequency Tuning Word #1
//输入参数: frq1(指针,指向unsigned char型数组的首地址,数组长度为48,6个字节)
//Serial Register Address :2
//写入地址字节数:1 Byte
//写入数据字节数:6 Bytes 
//******************************************************************
void Write_AD9854_Frq1(unsigned char * frq1)
{ 	
	
	unsigned char iq[] = AD9854_FRE1 ;
	Write_AD9854_C(iq) ;              // 0x02对应写Frq1
	Write_AD9854_D(frq1) ;            // 写6个字节的数据,先发高位
	Write_AD9854_D(frq1+8) ;
	Write_AD9854_D(frq1+16) ;
	Write_AD9854_D(frq1+24) ;
	Write_AD9854_D(frq1+32) ;
	Write_AD9854_D(frq1+40) ;
}
//******************************************************************

//函数功能:更新设置
//输入参数:无
//******************************************************************
void Update_AD9854(void)
{
	AD9854_UPDATE_UP ;      //原来肯定是低电平,所以我觉得先置高好
	_NOP() ;
	AD9854_UPDATE_DOWN ;
}
//******************************************************************


//函数功能:复位
//输入参数:无
//******************************************************************
void Io_Reset_AD9854(void)
{
	unsigned i=100 ;        //这个数据取决于实际效果
	AD9854_IO_RESET_UP ;
	while(i--) ;
	AD9854_IO_RESET_DOWN ;
}
//******************************************************************



//函数功能:设置控制寄存器 CTR_REG (control function register)
//输入参数:ctr(指针,指向unsigned char型数组的首地址,数组长度为32,4个字节)
//******************************************************************
void Ctr_AD9854(unsigned char *ctr)
{
	unsigned char iq[] = AD9854_CTR_REG ;
	Write_AD9854_C(iq) ;    
	Write_AD9854_D(ctr) ;               // 写4个字节的数据,先发高位
	Write_AD9854_D(ctr+8) ;
	Write_AD9854_D(ctr+16) ;
	Write_AD9854_D(ctr+24) ;			
}
//******************************************************************


//函数功能:AD9854初始化
//输入参数:无
//硬件说明:
//******************************************************************
void Init_AD9854(void)
{
	HARDWARE_AD9854 ;        //通过宏定义就可以改动了
	AD9854_CS_DOWN ;         //片选
	Ctr_AD9854(ctr) ;
        Update_AD9854() ;
}

//******************************************************************



⌨️ 快捷键说明

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