資源簡介
采用STM32的M4內(nèi)核,采用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?
- 上一篇:Cardinal樣條曲線Qt代碼
- 下一篇:殼管式換熱器計算軟件
評論
共有 條評論