📄 ad9852.h
字号:
#ifndef AD9852_H
#define AD9852_H
#ifndef AD9852_GLOBALS
#define AD9852_EXT extern
#else
#define AD9852_EXT
unsigned char SIN_Cfg[4]={0x10,0x4f,0x00,0x00} ;
#endif
#include "ARM_Type.h"
#include <LPC213X.h>
#include <inttypes.h>
//频率控制字结构体
typedef union
{
uint64_t lFreq;
INT8U cFreq[8];
}TW_FREQ;
//单音模式
//AD9852_EXT TW_FREQ Init_Freq;
//P0.3~P0.8 -> GPIO -> A0~5
//P0.12 -> GPIO -> DDS_RST
//P0.25 -> GPIO -> DDS_SHAP
//P0.28 -> GPIO -> DDS_WR
//P0.29 -> GPIO -> DDS_RD
//P0.30 -> GPIO -> DDS_FSK
//P1.25 -> GPIO -> DDS_UD
//P1.16~P1.23 -> GPIO -> DATA0~7
#define DDS_RST_BIT ((unsigned)1<<12)
#define DDS_SHAP_BIT ((unsigned)1<<25)
#define DDS_WR_BIT ((unsigned)1<<28)
#define DDS_RD_BIT ((unsigned)1<<29)
#define DDS_FSK_BIT ((unsigned)1<<30)
#define DDS_UD_BIT ((unsigned)1<<25)
#define F1_ADD 0x04
#define F2_ADD 0x0a
#define FS_ADD 0x1a
#define CFG_ADD 0x1d
#define CLK (INT32U)20000000
#define MUL (INT32U)15
//写信号
#define WR() IO0SET = DDS_WR_BIT;IO0CLR = DDS_WR_BIT;IO0SET = DDS_WR_BIT
//变换频率
#define UDCLK() IO1CLR = DDS_UD_BIT;IO1SET = DDS_UD_BIT;IO1CLR = DDS_UD_BIT
//写地址
#define DDS_ADD(x) IO0CLR = 0x000001f8;IO0SET = x<<3
//写数据
#define DDS_DATA(x) IO1CLR = 0x00ff0000;IO1SET = x<<16; WR()
//复位AD9852
AD9852_EXT void RST_AD9852(void);
//写频率控制字
AD9852_EXT void SetFreq(INT8U Add,INT32U Freq) ;
AD9852_EXT void SetMode(INT8U *pCfg) ;
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -