工作需要,4月份开始接触STM32,之前一直都是做FPGA,51这些
现在做一个信号发生器,有一些疑问, 也看了论坛的一些帖子,觉得不太靠谱
而我现在做的是一个要推向市场的产品
大致构思就是通过DA描点的方式,DA的数据来源是DMA
输出波形的周期可以通过Timer来控制,DMA由timer更新来触发
假设输出正弦波,频率1k,如果一个周期描100个点,APB1是36M的话,Timer为72M,Timer计数值设为72000000/1000/100
Timer每次更新触发一次DMA,DMA传数据到DA描一个点
波形一个周期分为100个点,这100个点的值我放在一个数组比如data[]里
描第一点是data[0],我们可以设为 DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)&data;
然后描第二个点时需要data[1]
难道我需要开timer中断,把DMA_InitStructure.DMA_MemoryBaseAddr改到data[1]
这样会不会太麻烦?
各位大神,你们的信号发生器都是什么思路?
望赐教
做完这个项目后,我会把sch,pcb,代码全部上传上来
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>