yuanshi3 发表于 2012-2-21 18:20:54

AMC1203+2812--SPI之AD程序 求高手解答 万分感激

在做一个AMC1203(类似于AD2S1203,只不过AMC1203是隔离的,AD2S1203是非隔离的),通过SPI采集电流,我下面的SPI.C程序对吗?(2812作为从机处理,AMC1203作为主机处理,其频率为12.5M<2812的LSPCLK/4 = 75/4 = 17.5M),另外,程序中data代表我测到的数据吗?

#include "DSP28_Device.h"
//配置SPI
void InitSpi(void)
{
        SpiaRegs.SPICCR.all = 0x0F;//配置控制寄存器,进入初始状态,在上升沿输出,自测禁止,16位数据(AMC1203为16位)       
        SpiaRegs.SPICTL.all = 0x0;//操作控制寄存器设置,正常的SPI时钟方式,从动模式,禁止SPI发送,禁止中断
       
        /*波特率的设置,在此设置为从机模式,波特率设置无效,但是要求主机即AMC1203的波特率不能大于从机即2812的SPI波特率=70/4=17.5M*/
      //SpiaRegs.SPIBRR = 0x0;//波特率 = LSPCLK/4 = 75/4 = 17.5M
         SpiaRegs.SPICCR.all = 0x8F; //退出初始状态       
}

//SPI配置好后,是不是就是下面这样就能读取数据了啊?
unsigned int Spi_RxReady(void)
{
        int data;
        GpioDataRegs.GPFDAT.bit.GPIOF3=0;//SPI使能
        SpiaRegs.SPIRXBUF=0x0300;//发送读指令
        while(SpiaRegs.SPISTS.bit.INT_FLAG !=1){}
        data=SpiaRegs.SPIRXBUF;//接收数据
         GpioDataRegs.GPFDAT.bit.GPIOF3=1;//禁止SPI
        return data; //返回数据               
}
http://cache.amobbs.com/bbs_upload782111/files_52/ourdev_720913IRNWCP.JPG
(原文件名:1111.JPG)

yuanshi3 发表于 2012-2-21 22:34:02

这样做不知道可以不?模仿ADS1203的SPI接法

yuanshi3 发表于 2012-2-22 08:53:38

早晨顶起来

yuanshi3 发表于 2012-2-22 09:09:26

http://cache.amobbs.com/bbs_upload782111/files_52/ourdev_721016R1YU0S.JPG
(原文件名:313.JPG)

yuanshi3 发表于 2012-2-22 10:25:25

有人做过吗
页: [1]
查看完整版本: AMC1203+2812--SPI之AD程序 求高手解答 万分感激