一 概念
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發送端沒啥問題,可作爲接收端,就有諸多不方便了。