你的DMA里写的是SPI2,所以我就找的是SPI2的DMA说明。
哦哦 我看到了 谢谢您 我改一下 看看程序的 谢谢您 安 发表于 2017-11-23 11:21
你的DMA里写的是SPI2,所以我就找的是SPI2的DMA说明。
改过来了 dma里的一个错误也改过来了 但是 还是卡在程序里
SPI_InitTypeDef SPI_InitStructure;
SPI_InitStructure.SPI_Direction=SPI_Direction_2Lines_FullDuplex;
SPI_InitStructure.SPI_Mode=SPI_Mode_Master;
SPI_InitStructure.SPI_DataSize=SPI_DataSize_8b;
SPI_InitStructure.SPI_CPOL=SPI_CPOL_High;
SPI_InitStructure.SPI_CPHA=SPI_CPHA_2Edge;
SPI_InitStructure.SPI_NSS=SPI_NSS_Soft;
SPI_InitStructure.SPI_BaudRatePrescaler=SPI_BaudRatePrescaler_16;
SPI_InitStructure.SPI_FirstBit=SPI_FirstBit_MSB;
SPI_InitStructure.SPI_CRCPolynomial = 7;
SPI_Init(SPI1,&SPI_InitStructure);
SPI_I2S_DMACmd(SPI1, SPI_I2S_DMAReq_Rx, ENABLE);
SPI_Cmd(SPI1,ENABLE); //ʹÄÜSPI
//½ûÖ¹FLASHƬѡ
GPIO_SetBits(GPIOA,GPIO_Pin_2); 本帖最后由 dataozi 于 2017-11-23 15:15 编辑
安 发表于 2017-11-23 11:21
你的DMA里写的是SPI2,所以我就找的是SPI2的DMA说明。
我估计是串口的问题,你把串口的DMA去掉。我看你用的是串口1的DMA,但是配置的时候又用的串口3,不知道会不会是这引起的。我有没有资源帮忙测试。 安 发表于 2017-11-23 14:00
我估计是串口的问题,你把串口的DMA去掉。我看你用的是串口1的DMA,但是配置的时候又用的串口3,不知道会不 ...
嗯 嗯 我用的是 串口1的 发送DMA 这个测试过了 是可以的 没有用到串口3的 但是我先把串口这一块 关闭了 试一下 dataozi 发表于 2017-11-23 11:27
??我写的SPI1的啊?
楼主你是写SPI1,可是我好像下不了你的代码 聪神聪 发表于 2017-11-24 11:17
楼主你是写SPI1,可是我好像下不了你的代码
在第一页的 可以下载的啊?再试一次吧 请问楼主你开中断没有?
在DMA1_Channel2_Configuration函数中,
DMA_ITConfig(DMA1_Channel2, DMA_IT_TC, ENABLE); //当DMA初始化完成后,开启传输完成中断
楼主 SPI+DMA 利用SPI_Direction_2Lines_RxOnly模式 读取flash 解决了么?
我下载了你的代码测试 id=SPI_Flash_ReadID(); SPI_Flash_Read(Rx_Buffer,1000,10);都执行正常正确,但是执行SPI_DMA_BufferRead(1000);的时候卡在 while(DMA_GetFlagStatus(DMA1_FLAG_TC2) == RESET);这里 。我的QQ,能否帮忙解决一下 hejoin-409836 发表于 2018-6-29 15:46
楼主 SPI+DMA 利用SPI_Direction_2Lines_RxOnly模式 读取flash 解决了么?
我下载了你的代码测试 id=SPI_Fl ...
嗯 嗯 好友通过了
页:
1
[2]