主题中讨论的其他器件: ADS8330
尊敬的先生/女士:
我已将 ADS8330连接到 TMS320C5505....我正在使用两个通道...具有 SPI 时钟4MHz 的自动模式。 下面是获取 samples.inputs 的代码是50Hz、1V 正弦波。
一
IODATAOUT2 |=(1<<1);//引脚高电平40ns
IODATAOUT2 =~μ s (1<1);//引脚在40ns 内处于低电平
SPICMD2 = 0x107A;
SPIDAT2 = 0xEFFF;
IODATAOUT2 |=(1<<1);//引脚低电平40ns
IODATAOUT2 =~μ s (1<1);//引脚在40ns 内处于低电平
SPICMD2 = 0x107A;
SPIDAT2 = 0xC000;//读取数据命令
while (((SPISTAT1 & 0x01)= 0x01);
IODATAOUT2 |=(1<<1);//引脚低电平40ns
IODATAOUT2 =~μ s (1<1);//引脚在40ns 内处于低电平
SPICMD2 = 0x1079;
out1=SPIDAT2;//读取数据命令
while (((SPISTAT1 & 0x01)= 0x01);
while (1)
{
if (risingEdgeInt=1 && timerInt==1 && i<4096)
{
IODATAOUT1 =~Ω(1<<12);//const 高电平
延迟(10);
while (((IOINDATA1&0x0020)!=(1<<5));//
IODATAOUT2 |=(1<<1);//引脚低电平40ns
IODATAOUT2 =~μ s (1<1);//引脚在40ns 内处于低电平
SPICMD2 = 0x107A;
SPIDAT2 = 0xD000;//读取数据命令
while (((SPISTAT1 & 0x01)= 0x01);
spiReadDataClk ();////SPICMD2 = 0x0079;//spiReadDataClk ();
while (((SPISTAT1 & 0x01)= 0x01);
SmoothDataCh3[i++]=SPIDAT2;//&0xFFFF;
IODATAOUT2 |=(1<<1);//引脚低电平40ns
IODATAOUT2 =~μ s (1<1);//引脚在40ns 内处于低电平
SPICMD2 = 0x107A;
SPIDAT2 = 0xD000;//读取数据命令
while (((SPISTAT1 & 0x01)= 0x01);
spiReadDataClk ();////SPICMD2 = 0x0079;//spiReadDataClk ();
while (((SPISTAT1 & 0x01)= 0x01);
adcOutCh5[j++]=SPIDAT2;
IODATAOUT1 |=(1<<12);//convst 低电平
timerInt=0;
}
if (risingEdgeInt=1 && count=0 &I=4096)
{
中断;
}
}
Timer0_Stop();
问题是我得到的波形未被清除。我需要清除波形、因为我要找出两个波形之间的相位差。
当我使用最高时钟速度时、通道数据在两个缓冲器之间交换。
:仅限1024点