ad9850.c

来自「AD9850 DDS chip driver」· C语言 代码 · 共 55 行

C
55
字号
/*

 AD9850 DDS chip driver

 Si-Tecno Juha Niinikoski 02.04.2004


*/


/* AD9850 data transfer */

void dds_send_one( unsigned char dta )		// send one byte LSB first
	{
	char x;
	for(x=0; x<8; x++)			// do all bits
		{
		if(dta & 1)
			DDS_SER = 1;
		else
			DDS_SER = 0;

		DDS_W_CLK = 1;			// generate clock pulse
		dta = dta >> 1;			// move next bit
		DDS_W_CLK = 0;	
		}
	}

void dds_load(void)				// load AD9850 from buffer			
	{
	char x;
	for(x=0; x<5; x++)
		{
		dds_send_one(dds.ad9850[x]);	// send 40 bits
		}

	DDS_FQ_UD = 1;				// generate update pulse
	DDS_FQ_UD = 0;
	}

/* Init AD9850 interface */

void dds_init(void)
	{
	DDS_RESET = 1;				// reset AD9850
	DDS_SER = 0;
	DDS_RESET = 0;

	DDS_FQ_UD = 1;				// generate update pulse
	DDS_FQ_UD = 0;				// set serial mode
	
	dds.dds_regs.dds_config = 0;		// control & phase bits = 0
	}

⌨️ 快捷键说明

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