简 介: 本文记录了使用快速制版测试AD9833这款数字信号发生器的内容。
关键词: AD9388,数字信号发生,快速制版
基于AD9833的正弦波,三角波,方波频率发生模块可以通过ZIGBEE来完成输入输出控制。其中还包括有AD命令。详细的功能可以参见下面的控制命令。
§01 硬件设计
硬件设计文件:
AltiumDesignTest2020AD9833F030AD9833F030.SCH, .PCB
快速制版的电路板。
焊接完毕电路板之后的组装图:
D:zhuoqingwindowARMIARSTM32ApplicationTest2020GeneralFSPIF030SrcSERIALTXT.c
§02 Zigbee控制命令 (1) BAUD:115200 (2)控制命令: //==============================================================================//PROCESS THE DEBUG BUFFER//------------------------------------------------------------------------------void SerialDebugProcessBuffer(void) {SerialDebugBuffer2Argument();if(g_ucSDANumber == 0) return;if(strcmp("hello",(char *)STD_ARG[0]) == 0)printf("%s is ready !rn", VERSION_STRING); else IFARG0("setf") { double lf; sscanf(SDA(1), "%lf", &lf); AD9833SetFrequency(lf); } else IFARG0("ad9833setioinout") { int nNumber; sscanf(SDA(1), "%x", &nNumber); SetIO((unsigned char)nNumber); } else IFARG0("ad9833setio") { int nNumber; sscanf(SDA(1), "%x", &nNumber); SetIOValue((unsigned char)nNumber); } else IFARG0("ad9833setfrequency") { double lfFreq; sscanf(SDA(1), "%lf", &lfFreq); AD9833SetFrequency(lfFreq); } else IFARG0("ad9833getio") { printf("%xrn", GetIOValue()); } else IFARG0("ad9833getadvalue") { unsigned short nAD[ADC_CHANNEL]; GetADCAverage(nAD); printf("%d %d %d %drn", nAD[0], nAD[1], nAD[2], nAD[3]); } else IFARG0("ad9833getfrequencyconfig") { printf("%xrn", g_nAD9833Config); } else IFARG0("ad9833sinusoidal") { AD9833SinusoidalOutput(); } else IFARG0("ad9833triangle") { AD9833TriangleOutput(); } else IFARG0("ad9833square") { AD9833SquareOutput(); } else IFARG0("ad9833square1") { AD9833SquareOutput1(); }