工具/软件:
您好:
我有一个包含正弦波的 uint16_t 值的20元素查找表。
我将 EPWM6配置为200kHz、将 EPWM6 SOCB 配置为触发 DMA。
对于 DMA、我将触发源设置为 DMA_TRIGGER_EPWM6SOCB。
如果我将 DMA 突发大小设置为1U 并将传输大小设置为20U、则 可以看到传输结束中断以10kHz 的频率生成、这正是我预期的那样。
但是、DAC 输出不正确。 它看起来不像在整个表中迭代。 我怀疑问题出在突发/传输/绕回设置中的某个位置。
这是我的设置:
uint16_t lookup_table[20];
const void * src =(void *) lookup_table;
const void * dst=(void *)(DACA_BASE + DAC_O_VALS);
DMA_configAddresses (DMA_CH1_BASE、dst、src);
DMA_configBurst (DMA_CH1_BASE、1U、1、0);
DMA_configTransfer (DMA_CH1_BASE、20U、0、0);
DMA_configWrap (DMA_CH1_BASE、20U、065535U、0);
DMA_configMode (DMA_CH1_BASE、DMA_TRIGGER_EPWM6SOCB、DMA_CFG_OneShot_disable | DMA_CFG_CONTINUAL_ENABLE | DMA_CFG_SIZE_16BIT);
有什么建议我可能做错了?
谢谢!