吽吽吽 发表于 2022-12-27 21:12:52

求助。DMA_SPI | 已解决

芯片:STC8H4K64TLCD

功能:DMA_SPI发送数据

P0M0 = 0x00; P0M1 = 0x00;
P1M0 = 0x00; P1M1 = 0x00;
P2M0 = 0x00; P2M1 = 0x00;
P3M0 = 0x00; P3M1 = 0x00;
P4M0 = 0x00; P4M1 = 0x00;
P5M0 = 0x00; P5M1 = 0x00;


DMA_SPI_CR=0xC0; //1100 0000开始主机模式SPI_DMA传输

求助问题1:请问SPCTL需要使能SPI吗?如果需要,是先使能SPI还是先开启SPI_DMA传输?
求助问题2:SPI_DMA传输完成是硬件将ENSPI置0还是需要软件置0?





芯LYS 发表于 2022-12-28 08:35:32

本帖最后由 芯LYS 于 2022-12-28 08:36 编辑



数据手册里有介绍供参考   
STC8H系列数据手册 https://stcai.com/filedownload/647681

神农鼎 发表于 2022-12-28 09:13:25



见 STC8H实验箱的演示程序


乘风飞扬 发表于 2022-12-28 13:16:38

1. 硬件SPI需要配置好之后再开启SPI DMA传输。
2. ENSPI是SPI DMA功能使能控制,使用SPI DMA时需要软件将其置位,SPI DMA完成传输也不会改变这个位。

吽吽吽 发表于 2022-12-28 13:53:44

乘风飞扬 发表于 2022-12-28 13:16
1. 硬件SPI需要配置好之后再开启SPI DMA传输。
2. ENSPI是SPI DMA功能使能控制,使用SPI DMA时需要软件将其 ...

谢谢,那还有个疑问,传输完成,ENSPI不改的话,那么SPI_DMA是不是在循环传送数据?

乘风飞扬 发表于 2022-12-28 16:49:14

吽吽吽 发表于 2022-12-28 13:53
谢谢,那还有个疑问,传输完成,ENSPI不改的话,那么SPI_DMA是不是在循环传送数据? ...

不会循环传输,传完一次设置的数据量就会停止传输,下次开始需要重新设置触发控制位 TRIG_M/TRIG_S。
页: [1]
查看完整版本: 求助。DMA_SPI | 已解决