adf4002.c
/**********************************************************
康威科技
更多电子需求,请到淘宝店,康威电子竭诚为您服务 ^_^
https://kvdz.taobao.com/
**********************************************************/
#include "adf4002.h"
#include "sys_zdyz.h"
long int ReadData;
//long int Reg0x00 = 0x001F40;//r
//long int Reg0x01 = 0x0DAC01;//n
long int functionReg0x02R = 0x0D80C2; //function FUNCTION 0000 1101 1000 0000 1100 0010 //function寄存器 设置R DIVIDER OUTPUT
long int initReg0x03R = 0x0D80C3;//init 0000 1101 1000 0000 1100 0011 //INITIALIZATION 寄存器 设置R DIVIDER OUTPUT
long int functionReg0x02N = 0x0D80A2; //function 0000 1101 1000 0000 1010 0010 //function寄存器 设置N DIVIDER OUTPUT
long int initReg0x03N = 0x0D80A3;//init 0000 1101 1000 0000 1010 0011 //INITIALIZATION寄存器 设置N DIVIDER OUTPUT
long int Reg0x02_LEDON = 0x0D80B2; //MUXOUT CONTROL : DVDD 0000 1101 1000 0000 1011 0010 functionlatch
long int Reg0x02_LEDOFF = 0x0D80F2; //MUXOUT CONTROL: DGND 0000 1101 1000 0000 1111 0010 functionlatch
void Delay(unsigned int z)
{
unsigned int i,j;
for(i = z; i > 0; i--)
for(j = 10; j > 0; j--) ;
}
void DelayMs(void)
{
unsigned int i, j;
for(i = 0; i < 1000; i++)
{
for(j = 0; j < 1000; j++)
{
Delay(1000);
}
}
}
//adf4002 IO口初始化
void InitADF4002(void)
{
// GPIO_InitTypeDef GPIO_InitStructure;
//
// RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE); //使能PC端口时钟
//
// GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9|GPIO_Pin_10|GPIO_Pin_11; //
// GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出
// GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
// GPIO_Init(GPIOC, &GPIO_InitStructure);
PLL_SCK_0;
PLL_SDI_0;
PLL_SEN_0;
SendDataPll(initReg0x03R); //INIT
// SendDataPll(functionReg0x02R); //funtion(执行功能锁存加载)
SendDataPll(Reg0x02_LEDOFF); //INIT
//RDivideTest(1);
}
void SendDataPll(unsigned long int Data) //传送的数据
{
unsigned char i;
PLL_SCK_0;
PLL_SEN_0;
for(i = 0; i < 24; i++)
{
if(Data & 0x800000)
{
PLL_SDI_1;
}
else
{
PLL_SDI_0;
}
Data <<= 1;
PLL_SCK_1;
Delay(100);
PLL_SCK_0;
Delay(100);
}
PLL_SDI_0;
PLL_SEN_0;
Delay(100);
PLL_SEN_1;
}
void RDivideTest(u16 RData)
{
u32 S_R = 0;
S_R = Pre_R + (RData<<2) + R_Address;
SendDataPll(functionReg0x02R); //funtion
SendDataPll(0X000001);
SendDataPll(S_R);
SendDataPll(0X000001);
}
void NDivideTest(u16 NData)
{
u32 S_N = 0;
S_N = Pre_N + (NData<<8) + N_Address;
SendDataPll(functionReg0x02N); //funtion
SendDataPll(0X000000);
SendDataPll(S_N);
}
adf4002.h
(cubemx配置了三个gpio output)文章来源:https://www.toymoban.com/news/detail-637514.html
/**********************************************************
康威科技
更多电子需求,请到淘宝店,康威电子竭诚为您服务 ^_^
https://kvdz.taobao.com/
**********************************************************/
#ifndef _adf4002_h_
#define _adf4002_h_
#include "sys_zdyz.h"
#include "main.h"
#define R_Address 0X000000
#define N_Address 0X000001
#define F_Address 0X000002
#define I_Address 0X000003
#define Pre_R 0X000000 //X000,0000,DAT(14),00
#define Pre_N 0X000000 //XX0,DAT(13),XXXXXX,01
//管脚声明
//GND
//#define PLL_SCK PCout(9)// PC9
//#define PLL_SDI PCout(10)// PC10
//#define PLL_SEN PCout(11)// PC11
//
//#define PLL_SCK_0 PLL_SCK = 0
//#define PLL_SCK_1 PLL_SCK = 1
//
//#define PLL_SDI_0 PLL_SDI = 0
//#define PLL_SDI_1 PLL_SDI = 1
//
//#define PLL_SEN_0 PLL_SEN = 0
//#define PLL_SEN_1 PLL_SEN = 1
#define PLL_SCK_0 (HAL_GPIO_WritePin(PLL_SCK_GPIO_Port, PLL_SCK_Pin, GPIO_PIN_RESET))
#define PLL_SCK_1 (HAL_GPIO_WritePin(PLL_SCK_GPIO_Port, PLL_SCK_Pin, GPIO_PIN_SET))
#define PLL_SDI_0 (HAL_GPIO_WritePin(PLL_SDI_GPIO_Port, PLL_SDI_Pin, GPIO_PIN_RESET))
#define PLL_SDI_1 (HAL_GPIO_WritePin(PLL_SDI_GPIO_Port, PLL_SDI_Pin, GPIO_PIN_SET))
#define PLL_SEN_0 (HAL_GPIO_WritePin(PLL_SEN_GPIO_Port, PLL_SEN_Pin, GPIO_PIN_RESET))
#define PLL_SEN_1 (HAL_GPIO_WritePin(PLL_SEN_GPIO_Port, PLL_SEN_Pin, GPIO_PIN_SET))
void InitADF4002(void);
void Delay(unsigned int z);
void DelayMs(void);
void SendDataPll(unsigned long int Data);
void RDivideTest(u16 RData);
void NDivideTest(u16 NData);
#endif
main.c文章来源地址https://www.toymoban.com/news/detail-637514.html
InitADF4002();
NDivideTest(10);//RF-IN输入时 值为1-8191
//RDivideTest(10);//REF-IN输入时 值为1-16383
到了这里,关于ADF4002【分频器】(康威)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!