SPI通过DMA进行数据传输存储器到外设的外部方式

时间:2024-03-28 19:37:46

u8 DMA_Data_Buffer[DMA_Send_Length]={}; //开辟一个内存
把SPI的数据存到内存中,实现数据从内存传输到外设的DMA传输
方式
SPI通过DMA进行数据传输存储器到外设的外部方式每次中断后都要清除中断标志位,XXX_ClearITPendingBit();此函数一般用在中断函数中清除标志位,
而XXX_ClearIFlag();一般用在非中断函数中,
DMA_Data_Buffer[i] = SPI1_ReadWriteByte(0xff);//把SPI读到的数据放到开辟的内存中,
主函数
SPI通过DMA进行数据传输存储器到外设的外部方式
MYDMA_Config(DMA1_Channel4,(u32)&USART1->DR,(u32)DMA_Data_Buffer,DMA_Send_Length);//DMA配置
SPI1_SetSpeed(SPI_BaudRatePrescaler_16);//SPI时钟频率配置,SPI1由APB2分频而来72MHZ/16
#define SPI_BaudRatePrescaler_16 ((uint16_t)0x0018)