STM32CubeMX学习(三) SPI+DMA通信

一、简介

本文将基于STM32F103RCT芯片介绍如何在STM32CubeMX+KEIL5开发环境下进行SPI+DMA通信。

  • 操作系统:WIN10 x64
  • 硬件电路:主芯片为STM32F103RCT
  • 软件开发环境:STM32CubeMX v6.10.0,RT-Thread Studio v2.2.7

二、新建STM32CubeMX项目并使用外部时钟

详细步骤参考文档《RT-Thread Studio学习(一)使用外部时钟系统》。
在STM32CubeMX中仅仅启用了USART1串口,配置了RCC晶体振和SYS下载方式。

三、SPI3配置

设置SPI3为只主机发送、禁止NSS、16位、562.5kbps波特率等。
在这里插入图片描述
NVIC设置:
在这里插入图片描述
DMA设置:
在这里插入图片描述
GPIO设置:
在这里插入图片描述

四、相关代码

main.c中定义数组

uint8_t spi3_tx_buf[256];

main函数中调用发送函数:

HAL_SPI_Transmit_DMA(&hspi3, spi3_tx_buf, sizeof(spi3_tx_buf)/2);
// 等待发送完成
while(HAL_DMA_GetState(&hdma_spi3_tx) != HAL_DMA_STATE_READY);

五、测试

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值