dataozi 发表于 2017-11-23 11:28:48

安 发表于 2017-11-23 11:21
你的DMA里写的是SPI2,所以我就找的是SPI2的DMA说明。

哦哦 我看到了 谢谢您 我改一下 看看程序的 谢谢您

dataozi 发表于 2017-11-23 11:30:56

安 发表于 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 11:44:15

本帖最后由 dataozi 于 2017-11-23 15:15 编辑

安 发表于 2017-11-23 11:21
你的DMA里写的是SPI2,所以我就找的是SPI2的DMA说明。

发表于 2017-11-23 14:00:17

我估计是串口的问题,你把串口的DMA去掉。我看你用的是串口1的DMA,但是配置的时候又用的串口3,不知道会不会是这引起的。我有没有资源帮忙测试。

dataozi 发表于 2017-11-23 14:41:41

安 发表于 2017-11-23 14:00
我估计是串口的问题,你把串口的DMA去掉。我看你用的是串口1的DMA,但是配置的时候又用的串口3,不知道会不 ...

嗯 嗯 我用的是 串口1的 发送DMA 这个测试过了 是可以的 没有用到串口3的 但是我先把串口这一块 关闭了 试一下

聪神聪 发表于 2017-11-24 11:17:55

dataozi 发表于 2017-11-23 11:27
??我写的SPI1的啊?

楼主你是写SPI1,可是我好像下不了你的代码

dataozi 发表于 2017-11-24 11:28:50

聪神聪 发表于 2017-11-24 11:17
楼主你是写SPI1,可是我好像下不了你的代码

在第一页的 可以下载的啊?再试一次吧

无薪税绵 发表于 2017-11-24 14:59:46

请问楼主你开中断没有?
在DMA1_Channel2_Configuration函数中,
DMA_ITConfig(DMA1_Channel2, DMA_IT_TC, ENABLE); //当DMA初始化完成后,开启传输完成中断

hejoin-409836 发表于 2018-6-29 15:46:24

楼主 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,能否帮忙解决一下

dataozi 发表于 2018-7-1 10:23:54

hejoin-409836 发表于 2018-6-29 15:46
楼主 SPI+DMA 利用SPI_Direction_2Lines_RxOnly模式 读取flash 解决了么?
我下载了你的代码测试 id=SPI_Fl ...

嗯 嗯 好友通过了
页: 1 [2]
查看完整版本: STM32F103RCT6 开启SPI1 DMA 一直无法读取 FALSH的数据