资源简介
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\
相关资源
- Cortex-M3 反汇编器
- STM32F103ZET6原理图
- STM32L053C8T6驱动240×240彩屏钟表显示时
- STM32 AD7124
- ADS8688的STM32驱动代码
- stm32f103c8t6 最小系统 开发板 AD电路图
- stm32 modbus
- STM32 4*4矩阵键盘扫描方式
- STM32F103 AM2302温湿度模块驱动例程
- STM32F103 NRF24L01无线通讯模块驱动例程
- DHT11与STM32F103ZET6
- stm32f103的PCF8563驱动代码
- STM32并口、串口驱动12864
- STM32F1+PS2+Serial+PWM (KEIL5)
- STM32f103zet6.Schlib 器件原理图 封装 Al
- 基于stm32的血压算法
- STM32F103串口DMA接收
- STM32 DMA中断模式下ADC多通道数据采集
- 通过PID算法控制STM32的PWM输出
- 1602液晶可靠的4位数据线方式驱动_基
- 嵌入式平台 STM32 libqrencode 移植二维码
- STM32Pack支持包
- 战舰stm32蓝牙开发代码
- 基于STM32的VL53L0X程序源码
- STM32F103C8T6核心板之配套程序源码 -
- 4*4矩阵键盘(方法2) STM32F103
- stm32f105双CAN协议盒PCB板适用于车载
- STM32_DS1302
- STM32HAL库使用NTC热敏电阻读取温度代码
- 实验5 外部中断实验.zip
评论
共有 条评论