• 大小: 12KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-04
  • 语言: 其他
  • 标签: STM32  ADA2200  

资源简介

ADI芯片 锁相放大器驱动 已调试过,如有问题请私信

资源截图

代码片段和文件信息

#include “ADA2200.h“
//      _ooOoo_ 
//            o8888888o 
//               88“ . “88 
//                 (| -_- |) 
//                  O\ = /O 
//              ____/‘---*\____ 
//               . * \\| |// ‘. 
//             / \\||| : |||// \ 
//           / _||||| -:- |||||- \ 
//             | | \\\ - /// | | 
//            | \_| **\---/** | | 
//           \  .-\__ ‘-‘ ___/-. / 
//            ___‘. .* /--.--\ ‘. . __ 
//        .““ *< ‘.___\_<|>_/___.* >*““. 
//      | | : ‘- \‘.;‘\ _ /‘;.‘/ - ‘ : | | 
//         \ \ ‘-. \_ __\ /__ _/ .-‘ / / 
//======‘-.____‘-.___\_____/___.-‘____.-*====== 
// ‘=---=* 
// 
// ............................................. 
//              佛祖保佑 永无BUG 


u8 DataRead3[3];
void delayLoop2(unsigned int Time)
{
Time*=3;
while(Time--)
{
__nop();
}
}
void ada2200_GpioInit()
{

GPIO_InitTypeDef g;
g.GPIO_Mode=GPIO_Mode_Out_PP;
g.GPIO_Speed=GPIO_Speed_50MHz;

g.GPIO_Pin=GPIO_Pin_1;// DIN/DIO
GPIO_Init(GPIOB&g);
g.GPIO_Pin=GPIO_Pin_10;//CLK
GPIO_Init(GPIOB&g);
g.GPIO_Pin=GPIO_Pin_11;//CS
GPIO_Init(GPIOB&g);

 }

void Write3bytesADA(u16 Reg u8 data)
{
int i=0;

Temp_CS000;
for(i=0; i<16; i++)
{
if(Reg & 0x8000)
{
DIN111;
}
else
{
DIN000;
}

Reg<<=1;
SCLOCK000;
delayLoop2(10);
SCLOCK111;
delayLoop2(10);
}
for(i=0;i<8;i++)
{
if((data & 0x80)==0)
{        
DIN000;
}    
else
{
DIN111;
}
data<<=1;
SCLOCK000;
delayLoop2(10);
SCLOCK111;
delayLoop2(10);
}
Temp_CS111;
}

void ReadFromRegADA(u16 Regunsigned char nByte) // nByte is the number of bytes which need to be read
{
int ij;
unsigned char temp;
DIN111;
Temp_CS000;
temp=0;

DataRead3[0]=0;
DataRead3[1]=0;
DataRead3[2]=0;
// DataRead[3]=0;
for(i=0; i<16; i++)
{
if(Reg & 0x8000)
{
DIN111;
}
else
{
DIN000;
}

Reg<<=1;
SCLOCK000;
delayLoop2(10);
SCLOCK111;
delayLoop2(10);
}
for(i=0; i {
for(j=0; j<8; j++)
{
SCLOCK000;
if(GPIO_ReadInputDataBit(GPIOBGPIO_Pin_1)==0)
{
temp=temp<<1;
}else
{
temp=temp<<1;
temp=temp+0x01;
}
delayLoop2(10);
SCLOCK111;
delayLoop2(10);
}
DataRead3[i]=temp;
temp=0;
}
Temp_CS111;
}
void ADA2200_Init()
{
ada2200_GpioInit();
delay_ms(1);

//  Write2bytesADA(0X0000); //写串行接口
//  WritebyteADA(0X24);   //MSB优先 SDIO双向  SDO禁用  地址递增

//  Write3bytesADA(0X00000X00);
//  delay_ms(40);

//  Write2bytesADA(0X0028); // 写模拟引脚配置  
//  WritebyteADA(0X01); // 外部时钟 差分输入
Write3bytesADA(0X00280X01);
delay_ms(40);

//  Write2bytesADA(0X0029);   //同步控制
//  WritebyteADA(0X0D);     //SYNCO close
Write3bytesADA(0X00290X0D);
delay_ms(40);

//  Write2bytesADA(0X002A);  //解调控制
//  WritebyteADA(0X18);      //移相关闭 RCLK使能 VOCM=0.5VDD
Write3bytesADA(0X002A0X1A);
delay_ms(40);

//  Write2bytesADA(0X002

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        3359  2016-10-08 21:45  ADA2200\ADA2200.c
     目录           0  2016-10-08 21:47  ADA2200\__Previews\
     文件       19907  2016-10-08 21:45  ADA2200\__Previews\ada2200.hPreview
     文件         487  2016-07-18 08:27  ADA2200\ada2200.h
     目录           0  2016-10-08 21:47  ADA2200\

评论

共有 条评论