2021-08-15 20:56:37 索炜达电子 520
项目编号:E144
文件大小:5K
源码说明:带中文注释
开发环境:C编译
简要概述:
在我的项目中,我使用了STM32F030F4P6和基于STM32CubeMX的HAL库。我试图编写简单的库,以便您可以将其移植到其他微控制器上。它使用基于软件的SPI,因此不需要在微控制器上配置SPI寄存器。我在IAR的ARM和Eclipse中用GCC-ARM对其进行了测试,结果很好。此外,我还使用了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
注
考虑到这个库使用延迟来执行软件SPI的事实,它可以对不同的微控制器进行不同的操作。这取决于uC上的主时钟。如果此库不适用于您,则必须更改Write SPI函数中的延迟时间。通过添加一些程序集编号,您可以通过反复试验来实现这一点。当然,您可以使用硬件SPI并将函数添加到库中以避免计时问题。
文件列表:
目录│文件列表:
└ AD9833-STM32
└ AD9833
│ AD9833.c
└ AD9833.h