• 大小: 4KB
    文件类型: .c
    金币: 1
    下载: 0 次
    发布日期: 2021-06-15
  • 语言: 其他
  • 标签: ADS1259  arm  M4  

资源简介

采用STM32的M4内核,采用SPI接口对ADI公司的ADS1259芯片进行访问

资源截图

代码片段和文件信息

#include “ADS1259.h“ 

#define  AD_CS    PIN1
#define  AD_PWN   PIN2
#define  AD_DRY   PIN3
#define  AD_CLK   PIN4
#define  AD_SDI   PIN5
#define  AD_SDO   PIN6

#define  AD_CS_H      GPIOPinWrite(GPIO_PORTE_base AD_CS   AD_CS)
#define  AD_CS_L      GPIOPinWrite(GPIO_PORTE_base AD_CS  ~AD_CS)
#define  AD_PWN_H   GPIOPinWrite(GPIO_PORTH_base AD_PWN AD_PWN)
#define  AD_PWN_L   GPIOPinWrite(GPIO_PORTH_base AD_PWN~AD_PWN)
#define  AD_CLK_H     GPIOPinWrite(GPIO_PORTH_base AD_CLK AD_CLK)
#define  AD_CLK_L     GPIOPinWrite(GPIO_PORTH_base AD_CLK~AD_CLK)
#define  AD_SDI_H     GPIOPinWrite(GPIO_PORTB_base AD_SDI AD_SDI)
#define  AD_SDI_L     GPIOPinWrite(GPIO_PORTB_base AD_SDI~AD_SDI)
#define  AD_SDO_R     (GPIOPinRead(GPIO_PORTB_baseAD_SDO)>>5)
#define  AD_DRY_R   (GPIOPinRead(GPIO_PORTB_baseAD_DRY)>>4)

uchar InitData[9]={0x050x180x220xff0xff0x7f0x000x000x40};

uchar RecData[9];

static void AD_SPI_WR_Byte(unsigned char dat)
{
   unsigned char i;
   AD_CLK_L;
   DelayUs(5);
   for(i=0;i<8;i++)
   {
   if(dat&0x80)  AD_SDI_H;
   else    AD_SDI_L;
   DelayUs(5);
   dat<<=1;
   AD_CLK_H;
   DelayUs(5);
   AD_CLK_L;
   DelayUs(5);
   }
}

static unsigned char AD_SPI_RD_Byte(void)
{
unsigned char idat;
dat=0;
AD_CLK_L;
DelayUs(5);
for(i=0;i<8;i++)
{
dat<<=1;
AD_CLK_H;
DelayUs(5);
if(AD_SDO_R) dat|=1;
AD_CLK_L;
DelayUs(5);
}
return dat;
}
static void AD_WriteToRes(uchar cmd1uchar lenuchar *dat)
{
uchar i;
AD_SPI_WR_Byte(cmd1);
AD_SPI_WR_Byte(len);
for(i=0;i<=len;i++)
AD_SPI_WR_Byte(*(dat+i));
}

static void AD_ReadFrRes(uchar cmd1uchar lenuchar *dat)
{
uchar i;
AD_SPI_WR_Byte(cmd1);
AD_SPI_WR_Byte(len);
for(i=0;i<=len;i++)
*(dat+i)=AD_SPI_RD_Byte();
}



static void AD_Start(void)
{
//IO输出
PGA_WrCmd(0x450x18);
//启动CS选择
AD_CS_L;
AD_SPI_WR_Byte(0xc5);
}

static 

评论

共有 条评论