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

资源简介

自己写的关于STM32的AD9834的驱动 包含.c和.h文件的全部内容

资源截图

代码片段和文件信息

#include “stm32f10x_lib.h“
#include “AD9834.h“


/****************************************************************
函数名称: AD9834_Write_16Bits
功    能: 向AD9834写入16为数据
参    数: data --  要写入的16位数据
返回值  : 无
*****************************************************************/
void AD9834_Write_16Bits(unsigned int 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 ;
        
        AD9834_SCLK_CLR ;
        data <<= 1 ;
        AD9834_SCLK_SET ;
    }
    
    AD9834_FSYNC_SET ;
}

/***********************************************************************************
函数名称:AD9834_Select_Wave
功    能:软件为控制,
    --------------------------------------------------
    IOUT正弦波 ,SIGNBITOUT方波 ,写FREQREG0 ,写PHASE0
    ad9834_write_16bit(0x2038)   一次性写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 -- 要输入的命令
返回值  :无
************************************************************************************/
void AD9834_Select_Wave(unsigned int initdata)
{
    AD9834_FSYNC_SET;
    AD9834_SCLK_SET;
    
    AD9834_RESET_SET;
    AD9834_RESET_SET;
    AD9834_RESET_CLR;
     
    AD9834_Write_16Bits(initdata);
}

/****************************************************************
函数名称: Init_AD9834
功    能: 初始化AD9834控制引脚
参    数: 无
返回值  : 无
*****************************************************************/
void Init_AD9834()
{
    GPIO_InitTypeDef GPIO_InitStructure ;
    GPIO_InitStructure.GPIO_Pin = AD9834_FSYNC | AD9834_SCLK | AD9834_SDATA | AD9834_RESET ;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz ;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP ;
    GPIO_Init(AD9834_Control_Port &GPIO_InitStructure) ;
}

/****************************************************************
函数名称: AD9834_Set_Freq
功    能: 设置频率值
参    数: freq_number -- 要写入的平率寄存器
          freq -- 频率值 (Freq_value(value)=Freq_data(data)*FCLK/2^28)
返回值  : 无
*****************************************************************/
void AD9834_Set_Freq(unsigned char freq_number unsigned long freq)
{
    unsigned long FREQREG = (unsigned long)(268435456.0/AD9834_SYSTEM_COLCK*freq);
    
    unsigned int FREQREG_LSB_14BIT = (unsigned int)FREQREG;
    unsigned int FREQREG_MSB_14BIT = (unsigned int)(FREQREG>>14);
    
    if(freq_number == FREQ_0)
    {
        FREQREG_LSB_14BIT &= ~(1U<<15);
        FREQREG_LSB_14BIT |= 1<<14;
        FREQREG_MSB_14BIT &= ~(1U<<15);
        FREQREG_MSB_14BIT |= 1<<14;
    }
    else
    {
        FREQREG_LSB_14BIT &= ~(1<<14);
        FREQR

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2011-03-31 20:38  AD9834\
     目录           0  2011-03-31 20:38  AD9834\AD9834\
     目录           0  2011-04-06 19:29  AD9834\AD9834\inc\
     文件        2212  2011-04-06 19:29  AD9834\AD9834\inc\AD9834.h
     目录           0  2011-03-31 21:29  AD9834\AD9834\src\
     文件        3364  2011-03-31 21:29  AD9834\AD9834\src\AD9834.c
     目录           0  2011-03-31 20:38  AD9834\Keyboard\
     目录           0  2011-03-31 20:50  AD9834\Keyboard\inc\
     文件        2196  2011-03-31 20:50  AD9834\Keyboard\inc\Keyboard.h
     目录           0  2011-03-31 20:57  AD9834\Keyboard\src\
     文件        2408  2011-03-31 20:52  AD9834\Keyboard\src\Keyboard.c
     目录           0  2011-03-31 20:31  AD9834\library\
     目录           0  2011-03-31 20:31  AD9834\library\inc\
     文件       11942  2011-03-10 16:59  AD9834\library\inc\24l01.h
     文件        1123  2011-03-10 16:59  AD9834\library\inc\adc.h
     文件        2225  2011-03-10 16:59  AD9834\library\inc\cortexm3_macro.h
     文件         646  2011-03-10 16:59  AD9834\library\inc\dac.h
     文件        1366  2011-03-10 16:59  AD9834\library\inc\dma.h
     文件        9399  2011-03-10 17:00  AD9834\library\inc\IOin.h
     文件        6948  2011-03-10 17:00  AD9834\library\inc\IOout.h
     文件       26738  2011-03-10 17:00  AD9834\library\inc\pcm.h
     文件       18854  2011-03-10 17:00  AD9834\library\inc\stm32f10x_adc.h
     文件        6911  2011-03-10 17:00  AD9834\library\inc\stm32f10x_bkp.h
     文件       12279  2011-03-10 17:00  AD9834\library\inc\stm32f10x_can.h
     文件        1881  2011-03-10 17:00  AD9834\library\inc\stm32f10x_crc.h
     文件        9598  2011-03-10 17:00  AD9834\library\inc\stm32f10x_dac.h
     文件        2822  2011-03-10 17:00  AD9834\library\inc\stm32f10x_dbgmcu.h
     文件       17974  2011-03-10 17:00  AD9834\library\inc\stm32f10x_dma.h
     文件        5776  2011-03-10 17:00  AD9834\library\inc\stm32f10x_exti.h
     文件       13996  2011-03-10 17:00  AD9834\library\inc\stm32f10x_flash.h
     文件       18005  2011-03-10 17:00  AD9834\library\inc\stm32f10x_fsmc.h
............此处省略100个文件信息

评论

共有 条评论