CC3200 SPI DMA
您好!
请问CC3200 SPI的DMA模式怎么使用,有相关的例程 或者是相关的文档介绍吗?
谢谢!
7024.spi_demo_DMA.zip
你好,
希望对你有帮助
您好:
直接调试您提供的例程,在执行完函数void Master_Send(unsigned char *ucBuff,int len) 中的 如下语句:
while( !(MAP_SPIIntStatus(GSPI_BASE,false) & SPI_INT_EOW) );
//SPICSDisable(GSPI_BASE);
MAP_SPIDisable(GSPI_BASE);
直接跳转到了文件startup.ccs.c文件中的 FaultISR(void)函数中,请问这是为什么?
通过逻辑分析器分析,执行完上述语句发送到SPI端口的数据是正确的。但是每次都是跳转到函数FaultISR(void)中。
如果不是调试模式下会不会有这个问题?
直接将程序下载到flash中运行,发一包就不行了,估计也是这个问题!
另SPI DMA一次最多能发送多少字节,是1024字节吗?
请问一般什么情况下会进入中断FaultISR(void)?
这是ARM通用的用法,细节部分你可以参考一下http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0552a/ch02s04s02.html。
不过可能也没必要太深究。你用的是TI的参考板吗?service pack和SDK是不是最新的?
您好!
请问有CC3200 Ti-RTOS 的SPI 和TCP的例程吗?
谢谢!
TI的yonghua员工,你好,关于你提供的cc3200 spi_dma的代码!
运行到while( !((MAP_SPIIntStatus(GSPI_BASE,false) & SPI_INT_EOW)) );就卡住了
,这句话应该是等待spi的TX发送完毕吧?那为什么一直会死在这里!请TI员工解答一下!
juneng juneng,你好,帮忙分析一下这个问题,你说,第一次可以接受,而且,收到的
数据是正确的!就是死在while( !(MAP_SPIIntStatus(GSPI_BASE,false) & SPI_INT_EOW) );对吧!
那么,你是采用4线的spi,2块板子收发吗?用的也是Master_Receive和Master_Receive这2个函数吗?
然后打开
IntPrioritySet(INT_GSPI, INT_PRIORITY_LVL_1);
IntEnable(INT_GSPI);
这2个函数,就可以,对吧!谢谢!
SetupTransfer(UDMA_CH30_GSPI_RX,UDMA_MODE_BASIC,len,
UDMA_SIZE_8,UDMA_ARB_1,
(void *)(GSPI_BASE + MCSPI_O_RX0),UDMA_SRC_INC_NONE,
(void *)ucBuff,UDMA_DST_INC_8);
程序提示我找不到SetupTransfer。。
因为最新的SDK 1.1.0的API定义稍微有些不一样, 你可以参照udma的例程里面去进行一下API调用的更改。
SPI DMA有修改好的吗?我也在while( !(MAP_SPIIntStatus(GSPI_BASE,false) & SPI_INT_EOW) );卡死。。。。
您好,
请问您的SPI DMA调试好了吗?方不方便共享一下?最近在看3200,也遇到这个问题,谢谢~