BeHappy 发表于 2024-11-3 11:15:26

请教个问题: 必须是DMA与HSSPI功能配合使用,而不能与普通SPI功能配合使用吗?

开发环境:

mcu:STC32G12K128-Beta

如题,在使用普通SPI(非HSSPI)功能的情况下,想配合DMA功能使用,上机之后发现仅能完成SPI对外设的初始化(本段与DMA无关),在使能SPI_DMA主机操作模式后,没有进入SPI_DMA中断程序,也就没有数据传输发生了(反复确认过了,传输的字节数配置没有问题)。
问题:
普通的SPI(非HSSPI)不能搭配DMA使用吗?

王昱顺 发表于 2024-11-3 11:32:17

普通spi当然是可以用dma的,可以贴出来你的程序,一起帮你看看是哪里的问题

神农鼎 发表于 2024-11-3 12:24:26

实验箱有例程的

国芯技术交流网站 - AI32位8051交流社区 (stcaimcu.com)

BeHappy 发表于 2024-11-3 19:19:40

本帖最后由 BeHappy 于 2024-11-3 19:23 编辑

王昱顺 发表于 2024-11-3 11:32
普通spi当然是可以用dma的,可以贴出来你的程序,一起帮你看看是哪里的问题 ...
您好,以下是SPI_DMA的配置和中断响应函数以及完整的代码打包:
<blockquote>SPIDMAISR:

BeHappy 发表于 2024-11-3 19:25:15

BeHappy 发表于 2024-11-3 19:19
您好,以下是SPI_DMA的配置和中断响应函数以及完整的代码打包:

不知道怎么回事,代码粘贴不上去

王昱顺 发表于 2024-11-3 22:03:47

BeHappy 发表于 2024-11-3 19:25
不知道怎么回事,代码粘贴不上去
从代码里看,似乎是因为P_SW2寄存器的bit7位(EAXFR)没有置1使能。所以导致后需操作拓展寄存器时失败,可以mian函数开头加入这一句

BeHappy 发表于 2024-11-4 08:59:57

王昱顺 发表于 2024-11-3 22:03
从代码里看,似乎是因为P_SW2寄存器的bit7位(EAXFR)没有置1使能。所以导致后需操作拓展寄存器时失败,可 ...

感谢提醒 :-)
使能了对XFR的访问后,就可以开启DMA传送了
再次感谢 :-)

王昱顺 发表于 2024-11-4 12:09:05

BeHappy 发表于 2024-11-4 08:59
感谢提醒 :-)
使能了对XFR的访问后,就可以开启DMA传送了
再次感谢 :-)

不客气,为你的成功感到高兴。
有问题就多来交流,活跃一下
页: [1]
查看完整版本: 请教个问题: 必须是DMA与HSSPI功能配合使用,而不能与普通SPI功能配合使用吗?