小编phi*_*tic的帖子

memcpy 命令在复制时交替数据

我正在使用 STM32 G474 用它的内部 DAC 创建一个 wavefrom。我为直接内存访问 (DMA) 模块提供了一个查找表,并在正确的时间将值提供给相应的 DAC 通道。听起来困难的部分实际上非常简单并且工作得很好。

#define NS  64                             # number of samples

uint32_t Wave_Low[NS] = {2048,[...],2047};  # lookup table

int main(void)
{
HAL_DAC_Start_DMA( &hdac2,   DAC_CHANNEL_1, (uint32_t*)Wave_High, NS, DAC_ALIGN_12B_R);
*/ start DMA       use DAC2  channel 1  */
}
Run Code Online (Sandbox Code Playgroud)

作为下一步,我想更改代码中的信号形式。因为我希望这不会中断,所以停止 DMA 并重新初始化它不起作用(有 500 微秒的延迟,中间没有信号)。因此我需要覆盖查找表。我试过这样:

#define NS  64                             # number of samples

uint32_t Wave_Low[NS] = {2048,[...],2047};  # lookup table 1
uint32_t Wave_High[NS] = {4096,[...],4067}; # lookup table 2
uint32_t Wave_Active[NS];                  #used lookup table

int main(void)
{  
memcpy(Wave_Active …
Run Code Online (Sandbox Code Playgroud)

c c++ embedded microcontroller stm32

3
推荐指数
1
解决办法
214
查看次数

标签 统计

c ×1

c++ ×1

embedded ×1

microcontroller ×1

stm32 ×1