STM32F429+STM32CubeMX SPI通信(采用DMA方式接收不定长数据)

硬件环境:两个CPU通过SPI通信,CPU型号为STM32F429,CPU1使用SPI1发送数据给CPU2的SPI2。
 在使用中发现,当SPI速率较快时,使用中断接收会丢数据,因而想到使用DMA方式。但我的接收长度是不定长的,接收长度在18~34个字节,下面是我使用DMA方式接收不定长数据的方法。

1 使用STM32CubeMX配置SPI
1.1CPU1的配置
CPU1用于发送,因而这里设置为:

参数设置:

1.2CPU2的配置
CPU2用于接收,设置为:

参数设置:

DMA设置,使用Circular方式,在程序中只需调用一次HAL_SPI_Receive_DMA()函数:

中断设置:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值