- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have a PSoC3666 project containing 4 identical SPI Master components. Each is fed by it's own TX and RX DMAs.
I can get one of these units working on its own by enabling its DMA channels. But when I try to enable the DMA channels of the other three SPI components, the first one breaks.
CyDmaChSetInitialTd_FAST(SPI_TxChannel[0], SPI_TxTD[0]);
CyDmaChSetInitialTd_FAST(SPI_RxChannel[0], SPI_RxTD[0]);
CyDmaChEnable_FAST(SPI_RxChannel[0]);
CyDmaChEnable_FAST(SPI_TxChannel[0]); // This works on its own.
CyDmaChSetInitialTd_FAST(SPI_TxChannel[1], SPI_TxTD[1]);
CyDmaChSetInitialTd_FAST(SPI_RxChannel[1], SPI_RxTD[1]);
CyDmaChEnable_FAST(SPI_RxChannel[1]);
CyDmaChEnable_FAST(SPI_TxChannel[1]); // But when I add this, it all stops working.
- Labels:
-
PSoC 3