• 大小: 300KB
    文件类型: .rar
    金币: 2
    下载: 2 次
    发布日期: 2021-06-10
  • 语言: 其他
  • 标签: AD5422  AD5412  STM32  

资源简介

STM32驱动AD5422,亲测可用,AD5412同样适用

资源截图

代码片段和文件信息

/***************************************************************************

 Author        : FangZheng - CAST

 Date          : Jun 12th 2012

 File          : ad5422_IO.c

 Hardware      : STM32 and AD5422

 Description   : Use the GPIO to simulate the SPI communication of AD5422

***************************************************************************/
#include “stm32f10x_gpio.h“
#include “ad5422_io.h“
 

  #define SET_CLEAR() GPIOC->BSRR  = GPIO_Pin_8 //PC8->CLEAR
  #define CLR_CLEAR() GPIOC->BRR   = GPIO_Pin_8

  #define SET_LATCH() GPIOC->BSRR  = GPIO_Pin_3 //PC3->LATCH
  #define CLR_LATCH() GPIOC->BRR   = GPIO_Pin_3

  #define SET_SCL() GPIOC->BSRR  = GPIO_Pin_2 //PC2->SCLK
  #define CLR_SCL() GPIOC->BRR   = GPIO_Pin_2

  #define SET_SDO() GPIOC->BSRR  = GPIO_Pin_1 //PC1->SDIN
  #define CLR_SDO() GPIOC->BRR   = GPIO_Pin_1

  #define GET_SDI()     GPIO_ReadInputDataBit(GPIOC GPIO_Pin_0) //PC0->SDO



void ad54x2_delay (int length)
{
while (length >0)
     length--;
}

//---------------------------------
//void WriteToAD5422(unsigned char countunsigned char *buf);
//---------------------------------
//Function that writes to the AD5422 via the SPI port. 
//--------------------------------------------------------------------------------
void WriteToAD5422(unsigned char countunsigned char *buf)
{

unsigned char ValueToWrite = 0;
    unsigned char i = 0;
unsigned char j = 0;


CLR_LATCH();

for ( i=count;i>0;i-- )
  {
  ValueToWrite = *(buf+i-1);
for (j=0; j<8; j++)
{
CLR_SCL();
if(0x80 == (ValueToWrite & 0x80))
{
SET_SDO();     //Send one to SDIN pin of AD5422
}
else
{
CLR_SDO();     //Send zero to SDIN pin of AD5422
}
 
ad54x2_delay(1);
SET_SCL();
ad54x2_delay(1);
ValueToWrite <<= 1; //Rotate data

}

}
CLR_SCL();
ad54x2_delay(1);
SET_LATCH();
ad54x2_delay(20);
}


//---------------------------------
//ReadFromAD5422();
//---------------------------------
//Function that reads from the AD5422 via the SPI port. 
//--------------------------------------------------------------------------------
void ReadFromAD5422(unsigned char countunsigned char *buf)
{
unsigned char i = 0;
unsigned char j = 0;
unsigned char   iTemp = 0;
unsigned char   RotateData = 0;

CLR_LATCH();

for(j=count; j>0; j--)
{
for(i=0; i<8; i++)
{
    CLR_SCL();
RotateData <<= 1; //Rotate data
ad54x2_delay(1);
CLR_SDO(); //Write a nop condition when read the data. 
iTemp = GET_SDI(); //Read SDO of AD5422
SET_SCL();
if(iTemp == 1)
{
RotateData |= 1;
}
ad54x2_delay(1);

}
*(buf+j-1)= RotateData;
}
CLR_SCL();
ad54x2_delay(1);  
SET_LATCH();
ad54x2_delay(20);

//---------------------------------
//ReadFromAD5422();
//---------------------------------
// 
//----------------------------------------------------------

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       4728  2012-06-12 09:57  AD5422test\GPIO\GPIO.opt.bak

     文件        152  2009-10-20 11:15  AD5422test\GPIO\GPIO.plg

     文件       4929  2009-10-20 11:31  AD5422test\GPIO\GPIO.Uv2.bak

    .......     77847  2013-02-19 16:21  AD5422test\GPIO\GPIO.uvopt

    .......     56984  2013-02-19 16:18  AD5422test\GPIO\GPIO.uvproj

     文件       4728  2012-06-12 09:14  AD5422test\GPIO\GPIO_Opt.Bak

     文件         71  2009-10-20 11:15  AD5422test\GPIO\GPIO_Target 1.dep

     文件          0  2009-10-20 11:15  AD5422test\GPIO\GPIO_Uv2.Bak

    .......     77849  2013-02-19 16:21  AD5422test\GPIO\GPIO_uvopt.bak

    .......     60642  2012-06-15 09:37  AD5422test\GPIO\GPIO_uvproj.bak

     文件      18651  2012-09-17 21:45  AD5422test\GPIO\JlinkLog.txt

     文件         19  2012-09-17 21:44  AD5422test\GPIO\Obj\ExtDll.iex

     文件        270  2013-02-19 16:21  AD5422test\GPIO\Obj\GPIO.plg

     文件        479  2012-06-12 09:59  AD5422test\GPIO\Obj\GPIO.sct

     文件       1493  2013-02-19 16:20  AD5422test\GPIO\Obj\GPIO.tra

     文件        479  2012-06-12 08:41  AD5422test\GPIO\Obj\GPIO_sct.Bak

     文件       3685  2013-02-19 16:18  AD5422test\GPIO\Source\AD542X\ad5422_IO.c

     文件       2217  2013-02-19 16:19  AD5422test\GPIO\Source\AD542X\ad5422_IO.h

     文件      25286  2009-06-23 15:46  AD5422test\GPIO\Source\App\font.h

     文件      20605  2009-10-16 15:23  AD5422test\GPIO\Source\App\GLCD.c

     文件       3985  2009-08-28 15:49  AD5422test\GPIO\Source\App\GLCD.h

     文件       4691  2013-02-19 16:20  AD5422test\GPIO\Source\App\main.c

     文件       3125  2009-10-16 17:05  AD5422test\GPIO\Source\App\stm32f10x_conf.h

     文件       4285  2009-08-28 16:54  AD5422test\GPIO\Source\App\stm32f10x_it.c

     文件       1976  2009-06-23 13:55  AD5422test\GPIO\Source\App\stm32f10x_it.h

     文件       1171  2009-10-16 15:51  AD5422test\GPIO\Source\App\USART.c

     文件        245  2009-10-16 15:50  AD5422test\GPIO\Source\App\USART.h

     文件      17206  2009-06-23 13:55  AD5422test\GPIO\Source\CMSIS\Core\CM3\core_cm3.c

     文件      46533  2009-06-23 13:55  AD5422test\GPIO\Source\CMSIS\Core\CM3\core_cm3.h

     文件      15600  2009-06-23 13:55  AD5422test\GPIO\Source\CMSIS\Core\CM3\startup\arm\startup_stm32f10x_cl.s

............此处省略81个文件信息

评论

共有 条评论