91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 5KB
    文件類型: .c
    金幣: 1
    下載: 0 次
    發布日期: 2021-06-18
  • 語言: 其他
  • 標簽: 頻率源??

資源簡介

ADF4351寄存器寫入參考程序,里面描述了詳細的細節說明

資源截圖

代碼片段和文件信息

#include“config.h“

INT8U?TxStringFreq[2]={00};

void?delay(?INT8U?length?);
void?WriteToADF4351(?INT8U?count?INT8U?*buf?INT8U?LoadPath?);

//******************************************************************************
//?Function????:?WriteToADF4351
//?Input???????:?count,字節數,*buf,寄存器數據?LoadPath:0x01:F1
//??????????????????????????????????????????????????????????0x02:F2
//??????????????????????????????????????????????????????????0x03:LO
//?Output??????:?
//?Description?:?根據SPI時序,向4350發送數據
//******************************************************************************
void?WriteToADF4351(?INT8U?count?INT8U?*buf?INT8U?LoadPath?)
{
????INT8U?ValueToWrite?=?0;
????INT8U?i?=?0;
????INT8U?j?=?0;
????
????FreqClkL;

????switch(?LoadPath?)
????{
????????case?0x01:
????????????FreqF1LeL;
????????????break;
????????case?0x02:
????????????FreqF2LeL;
????????????break;
????????case?0x03:
????????????FreqLoLeL;
????????????break;
????}

????for(?i?=?count;?i?>?0;?i--?)
????{
????????ValueToWrite?=?*(?buf?+?i?-?1?);
????????for(?j?=?0;?j?????????{
????????????if(?0x80?==?(?ValueToWrite?&?0x80?))
????????????{
????????????????FreqDataH;
????????????}
????????????else
????????????{
????????????????FreqDataL;
????????????}
????????????FreqClkH;
????????????ValueToWrite?<<=?1;
????????????FreqClkL;
????????}
????}
????
????switch(?LoadPath?)
????{
????????case?0x01:
????????????FreqF1LeH;
????????????break;
????????case?0x02:
????????????FreqF2LeH;
????????????break;
????????case?0x03:
????????????FreqLoLeH;
????????????break;
????}

????FreqDataL;
}

//******************************************************************************
//?Function????:?GetRegister
//?Input???????:?Freq*10
//?Output??????:?INT,FRAC,R,MOD,div
//?Description?:?根據頻率,計算INT,FRAC,MOD,div
//******************************************************************************
void?GetRegister(volatile?struct?Freq?*STR)
{
INT16U?Fre_temp;
????INT8U?N_Mul?=?1;
????INT8U?Mul_Core?=?0;
INT16U?INT_Fre;
????INT16U?Frac_temp;
????INT16U?Mod_temp;
????INT8U?i;

if(?STR->Ffreq?????{???
STR->Ffreq?=?350;
????}
if(?STR->Ffreq?>?44000?)
????{
????STR->Ffreq?=?44000;
????}

????N_Mul?=?0x01;

Fre_temp?=?STR->Ffreq;
for(?i?=?0;?i? {
if(((?Fre_temp?*?N_Mul?)?>=?21999?)?&&?((?Fre_temp?*?N_Mul?)?<=?44001?))
break;
Mul_Core++;
N_Mul?=?N_Mul?*?2;
}

Mod_temp?=?REF?*?10?/?N_Mul;

INT_Fre?=?STR->Ffreq?*?N_Mul?/??REF?/?10?;
Frac_temp?=?(INT32U)STR->Ffreq?*?N_Mul?*?Mod_temp?/?(?REF?*?1

評論

共有 條評論