資源簡介
自己寫的關于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個文件信息
評論
共有 條評論