STM32关于SPI2因为DMA通道而异常发送CRC问题描述

STM32关于SPI2因为DMA通道而异常发送CRC问题描述

ID:42464505

大小:254.02 KB

页数:4页

时间:2019-09-15

STM32关于SPI2因为DMA通道而异常发送CRC问题描述_第1页
STM32关于SPI2因为DMA通道而异常发送CRC问题描述_第2页
STM32关于SPI2因为DMA通道而异常发送CRC问题描述_第3页
STM32关于SPI2因为DMA通道而异常发送CRC问题描述_第4页
资源描述:

《STM32关于SPI2因为DMA通道而异常发送CRC问题描述》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、SMT32105SPI2DMAl_Channel5CRCUSART1理internal►DMA1request现象描述:同时使用SPI2和USART1时,SPI2的数据会异常多发送一个字节数据,实际监控到,每次肖USART1接收到I古I定长度的数据后,SPI2就会自己多发送一帧数据。问题原因:1.DMA通道问题:STM32105的SPI2发送和USART1的接收都归同一个DMA1Channel5USART3.RXTIM1.CH2TIM3.CH4TIM3.UPSPI1.TXUSART1.TXTIM1.CH4timiJrigTIM1.COMTIM4-CH2SPI/I2S2_R

2、XI2C2.TXUSART1.RXTIM1.UPSPH2S2.TXTIM2.CH1TIM4-CH3I2C2_RXUSART2_RXTIM1.CH3TIM3.CH1TIM3TRIG但是使用时,一个DMA通道下最好只管理一个外设,否则多个设备复用一个通道处理会很复杂,稍微处理不好就会出异常,为了避免复用,笔者只使用DMAl_Channel5管理USART1,但是使川中还是出了问题,这里我们看到DMAl_Channel5下还冇其他外设,如果用DMA管理其他外设,SPI2也会出现问题,具体问题我们下面详细描述。2、SPI设置问题:笔者使用吋,SPI作为主设备,全双工模式,通讯时,

3、如果开启了CRC校验,发送数据吋就会界常,会莫名奇妙多发送一帧数据,后来发现和USART1的接收有关,其实是因为DMAl_Channel5的管理问题,这里附上SPI2的设置,供人家参考,特殊标注的部分就是出问题的CRC部分,需要关掉才好使。voidSPI2_lnit(void){SPI_lnitTypeDefSPI」nitStructure;//DMA_lnitTypeDefDMA」nitStructure;GPIO_lnitTypeDefGPIO」nitStructure;/*EnableSPI2andGPIOclocks*//*!

4、SPIFLASHSPIMOSIGPIO,SPIFLASHSPIMISOGPIO,SPIFLASHSPIDETECTGPIOandSPI_FLASH_SPI_SCK_GPIOPeriphclockenable*/RCC_APBlPeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);/*!

5、ASH_SPIpins:SCK*/GPIOInitStructure.GPIOPin=GPIOPin13;GPIO」nitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIOInitStructure.GPIOMode=GPIOModeAFPP;GPIO」nit(GPIOB,&GPIO」nitStructure);/*!

6、ConfigureSPI_FLASH_SPIpins:MOSI♦/GPIOInitStructure.GPIOPin=GPIOPin15;GPIO」nit(GPIOB,&GPIO」nitStructure);/*!

7、SH:ChipSelecthigh*/SPI_CS_HIGH();/*SPI1configuration*///W25X16:datainputontheDIOpinissampledontherisingedgeoftheCLK.//DataontheDOandDIOpinsareclockedoutonthefallingedgeofCLK.SPISPISPISPISPISPISPIInitStructure.SPIInitStructure.SPIInitStructure.SPIInitStructure.SPIIni

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。