📄 ad9954.c
字号:
#include "includes.h"
/*-------------------------------------------------------------------------------------------------------------
功能:初始化9954以及控制它的端口
入口:无
出口:无
-------------------------------------------------------------------------------------------------------------*/
void AD9954Init(void)
{
P6OUT=AD9954_CS;
P5DIR|=AD9954_IOUPDATE | AD9954_PS0 | AD9954_PS1 ;
P5OUT&=~( AD9954_IOUPDATE | AD9954_PS0 | AD9954_PS1 );
}
/*-------------------------------------------------------------------------------------------------------------
功能:向9954发送指令
入口:add,寄存器地址
cmdn,传送数据的字节数
cmd,指向传送数据的指针
出口:无
-------------------------------------------------------------------------------------------------------------*/
void AD9954PutCmd(char add,char cmdn,char *cmd)
{
char n;
while(0<(SPI0Sendn-SPI0Datn)&&(SPI0Sendn-SPI0Datn)<cmdn*2+3);
SPI0SendDat[SPI0Datn++]=AD9954_CS;
SPI0SendDat[SPI0Datn++]=add;
for(n=0;n<cmdn;n++)
{
SPI0SendDat[SPI0Datn++]=AD9954_CS;
SPI0SendDat[SPI0Datn++]=cmd[n];
}
IE1=UTXIE0; //启动传送
while(!(U0TCTL&TXEPT));
P5OUT|=AD9954_IOUPDATE;
for(n=0;n<100;n++);
P5OUT&=~AD9954_IOUPDATE;
}
/*-------------------------------------------------------------------------------------------------------------
功能:向9954写Ram
入口:ramn,传送数据的字节数
ram,指向传送数据的指针
出口:无
-------------------------------------------------------------------------------------------------------------*/
void AD9954PutRam(char *ram)
{
char n;
// while((0<(SPI0Sendn-SPI0Datn))&&((SPI0Sendn-SPI0Datn)<9)); //该语句有问题
do n=SPI0Sendn-SPI0Datn;
while(0<n&&n<9);
// SPI0SendDat[SPI0Datn++]=AD9954_CS;
// SPI0SendDat[SPI0Datn++]=RAM;
for(n=0;n<4;n++)
{
SPI0SendDat[SPI0Datn++]=AD9954_CS;
SPI0SendDat[SPI0Datn++]=ram[n];
}
IE1=UTXIE0; //启动传送
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -