芯片解密,芯片破解,IC解密,单片机解密,MCU解密,STM解密

飞芯科技提供芯片解密,芯片破解,IC解密,单片机解密,MCU解密,STM解密逆向服务

IC解密,AD9834频率发生器的驱动代码

IC解密,#ifndef __AD9834_H
IC解密,#define __AD9834_H
IC解密,#include "stm32f4xx.h"
IC解密,#include "main.h"
IC解密,#define Triangle_Wave            0x2002
IC解密,#define Sine_Wave                    0x2028
/* AD9834晶振频率 */
#define AD9834_SYSTEM_COLCK     250000000UL //250M

#define AD9834_FSYNC_SET       HAL_GPIO_WritePin(AD9834_FSYNC_GPIO_Port,AD9834_FSYNC_Pin,GPIO_PIN_SET)//GPIO_SetBits(AD9834_Control_Port ,AD9834_FSYNC)
#define AD9834_FSYNC_CLR       HAL_GPIO_WritePin(AD9834_FSYNC_GPIO_Port,AD9834_FSYNC_Pin,GPIO_PIN_RESET)//GPIO_ResetBits(AD9834_Control_Port ,AD9834_FSYNC)
#define AD9834_SCLK_SET       HAL_GPIO_WritePin(AD9834_SCLK_GPIO_Port,AD9834_SCLK_Pin,GPIO_PIN_SET)//GPIO_SetBits(AD9834_Control_Port ,AD9834_SCLK)
#define AD9834_SCLK_CLR       HAL_GPIO_WritePin(AD9834_SCLK_GPIO_Port,AD9834_SCLK_Pin,GPIO_PIN_RESET)//GPIO_ResetBits(AD9834_Control_Port ,AD9834_SCLK)
#define AD9834_SDATA_SET       HAL_GPIO_WritePin(AD9834_SDATA_GPIO_Port,AD9834_SDATA_Pin,GPIO_PIN_SET)//GPIO_SetBits(AD9834_Control_Port ,AD9834_SDATA)
#define AD9834_SDATA_CLR       HAL_GPIO_WritePin(AD9834_SDATA_GPIO_Port,AD9834_SDATA_Pin,GPIO_PIN_RESET)//GPIO_ResetBits(AD9834_Control_Port ,AD9834_SDATA)
#define AD9834_RESET_SET       HAL_GPIO_WritePin(AD9834_RESET_GPIO_Port,AD9834_RESET_Pin,GPIO_PIN_SET)//GPIO_SetBits(AD9834_Control_Port ,AD9834_RESET)
#define AD9834_RESET_CLR       HAL_GPIO_WritePin(AD9834_RESET_GPIO_Port,AD9834_RESET_Pin,GPIO_PIN_RESET)//GPIO_ResetBits(AD9834_Control_Port ,AD9834_RESET)

#define FREQ_0      0
#define FREQ_1      1

#define DB15        0
#define DB14        0
#define DB13        B28
#define DB12        HLB
#define DB11        FSEL
#define DB10        PSEL
#define DB9         PIN_SW
#define DB8         RESET
#define DB7         SLEEP1
#define DB6         SLEEP12
#define DB5         OPBITEN
#define DB4         SIGN_PIB
#define DB3         DIV2
#define DB2         0
#define DB1         MODE
#define DB0         0
#define CONTROL_REGISTER    (DB15<<15)|(DB14<<14)|(DB13<<13)|(DB12<<12)|(DB11<<11)|(DB10<<10)\
    |(DB9<<9)|(DB8<<8)|(DB7<<7)|(DB6<<6)|(DB5<<5)|(DB4<<4)|(DB3<<3)|(DB2<<2)|(DB1<<1)|(DB0<<0)
/* AD9834函数声明 */
void AD9834_Write_16Bits(unsigned short data) ;  //写一个字到AD9834
void AD9834_Select_Wave(unsigned short initdata) ; //选择输出波形
void Init_AD9834(void);//初始化配置
void AD9834_Set_Freq(unsigned char freq_number,unsigned int freq) ;//选择输出寄存器和输出频率值
#endif /* AD9834_H */

//====================AD9834.c======================//
#include "AD9834.h"
#include "delay.h"
unsigned short BackUpFreqValue;
void DelayUs(unsigned int time)
{
    while(time>0)time-=1;
}
/****************************************************************
函数名称: AD9834_Write_16Bits
功    能: 向AD9834写入16为数据
参    数: data --  要写入的16位数据
返回值  : 无
*****************************************************************/
void AD9834_Write_16Bits(unsigned short data)
{
    unsigned char i=0;   
    AD9834_SCLK_SET;
    AD9834_FSYNC_CLR;
    for(i=0 ;i<16 ;i++)
    {
        if(data & 0x8000)
          AD9834_SDATA_SET;
        else
          AD9834_SDATA_CLR;      
        data <<= 1;
        AD9834_SCLK_CLR;
        AD9834_SCLK_CLR;
        AD9834_SCLK_SET;
        AD9834_SCLK_SET;
    }
    AD9834_FSYNC_SET;
}
/***********************************************************************************
函数名称:AD9834_Select_Wave
功    能:软件为控制,
    --------------------------------------------------
    IOUT正弦波 ,SIGNBITOUT方波 ,写FREQREG0 ,写PHASE0
    ad9834_write_16bit(0x2028)   一次性写FREQREG0
    ad9834_write_16bit(0x0038)   单独改写FREQREG0的LSB
    ad9834_write_16bit(0x1038)   单独改写FREQREG0的MSB
    --------------------------------------------------
    IOUT三角波 ,写PHASE0
    ad9834_write_16bit(0x2002)   一次性写FREQREG0
    ad9834_write_16bit(0x0002)   单独改写FREQREG0的LSB
    ad9834_write_16bit(0x1008)   单独改写FREQREG0的MSB
参    数:initdata -- 要输入的命令
返回值  :无
************************************************************************************/


联系方式

地址:石家庄市新华区民族路77号华强广场D座2009
电话:0311-88816616/87087811
手机:13315190088
传真:0311-67901001
联系人:张工
网址:www.taihedz.cn
邮箱:feixindz@163.com
微信:xinpianjiemi
QQ:527263666/568069805

在线客服
热线电话

企业微信