STM32CubeMX学习(三) SPI+DMA通信
- 一、简介
- 二、新建STM32CubeMX项目并使用外部时钟
- 三、SPI3配置
- 四、相关代码
- 五、测试
一、简介
本文将基于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);