2021-08-15 20:56:37 索煒達(dá)電子 830
項(xiàng)目編號:E144
文件大?。?K
源碼說明:帶中文注釋
開發(fā)環(huán)境:C編譯
簡要概述:
這是一個(gè)模擬設(shè)備AD9833 DDS芯片庫。
在我的項(xiàng)目中,我使用了STM32F030F4P6和基于STM32CubeMX的HAL庫。我試圖編寫簡單的庫,以便您可以將其移植到其他微控制器上。它使用基于軟件的SPI,因此不需要在微控制器上配置SPI寄存器。我在IAR的ARM和Eclipse中用GCC-ARM對其進(jìn)行了測試,結(jié)果很好。此外,我還使用了AD9833的FREQ0和PHASE0寄存器。如果需要,您可以輕松地將其更改為FREQ1和PHASE1。
如何使用
您必須分配控制器的3 GPIO。在我的例子中,我使用了PA5、PA6和PA7,并在STM32CubeMX中將它們配置為輸出。之后,必須在AD9833.h中定義輸出引腳。
There are three functions to change the behavior of AD9833 that you can use :
void AD9833_Init(uint16_t Wave,float FRQ,float Phase); // Initializing AD9833void AD9833_SetWave(uint16_t Wave); // Sets Output Wave Typevoid AD9833_SetWaveData(float Frequency,float Phase); // Sets Wave Frequency & Phase
注
考慮到這個(gè)庫使用延遲來執(zhí)行軟件SPI的事實(shí),它可以對不同的微控制器進(jìn)行不同的操作。這取決于uC上的主時(shí)鐘。如果此庫不適用于您,則必須更改Write SPI函數(shù)中的延遲時(shí)間。通過添加一些程序集編號,您可以通過反復(fù)試驗(yàn)來實(shí)現(xiàn)這一點(diǎn)。當(dāng)然,您可以使用硬件SPI并將函數(shù)添加到庫中以避免計(jì)時(shí)問題。
文件列表:
目錄│文件列表:
└ AD9833-STM32
└ AD9833
│ AD9833.c
└ AD9833.h