久芯网

DMA传送一次后,DMA-CCR-MINC位修改无效是怎么回事?

avatar alaxu 提问时间: 2023-07-13 18:07:41 / 未解决
我用的是STM32F103C8T6,HAL库中设置SPI2的DMA模式,初始化设置的是打开存储器地址增量模式MINC位=1,但在程序中要不停重复写入0x00,想把MINC位置零,用*( unsigned int * )(DMA1_BASE + 0x08 + 20*4) &= ~(1<<7);直接修改寄存器,结果发现这段代码放在SPI第一次传送之前,修改有效,一旦DMA传送一次后,用它修改MINC就无效了。

请问各位大神,这是怎么回事,看手册也没有找到MINC修改时必须满足什么条件。

1个回答
  • avatar yr
    回答时间: 2023-07-13 18:35:20

    有些寄存器的修改跟外设的状态有关,要改地址的增量模式,需要disable dma才可以

会员中心 微信客服
客服
回到顶部