一 概念
1 组成
#include "main.h" SPI_HandleTypeDef hspi1;
void SystemClock_Config(void); static void MX_GPIO_Init(void); static void MX_SPI1_Init(void); int main(void) { HAL_Init(); SystemClock_Config(); MX_GPIO_Init(); MX_SPI1_Init(); HAL_SPI_Transmit(&hspi1, TX_Data, sizeof(TX_Data), 5000); while (1) { } }
2 slave源码解析
#include "main.h"
SPI_HandleTypeDef hspi1;
UART_HandleTypeDef huart2;
uint8_t RX_Data[70] = {0};
void SystemClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_SPI1_Init(void);
static void MX_USART2_UART_Init(void);
int main(void)
{
HAL_Init();
SystemClock_Config();
MX_GPIO_Init();
MX_SPI1_Init();
MX_USART2_UART_Init();
HAL_SPI_Receive(&hspi1, RX_Data, sizeof(RX_Data), 5000);
HAL_UART_Transmit(&huart2, RX_Data, sizeof(RX_Data), 5000);
while (1)
{
}
}
三 调试总结
1 硬件接口
硬件接口一定要确认是通的,可以先用软件来驱动GPIO来测试一下。
2 工作方式
轮询的工作方式最简单,它作master发送端没啥问题,可作为接收端,就有诸多不方便了。
三 调试总结
1 硬件接口
硬件接口一定要确认是通的,可以先用软件来驱动GPIO来测试一下。
2 工作方式
轮询的工作方式最简单,它作master发送端没啥问题,可作为接收端,就有诸多不方便了。