From 221587f6c5885537fb60958ec11f4d1ad7a57032 Mon Sep 17 00:00:00 2001 From: "lxbpxylps@126.com" Date: Tue, 12 Oct 2021 18:16:24 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E6=8C=81=E5=A4=9A=E4=B8=AA=E8=BD=AF?= =?UTF-8?q?=E4=BB=B6=20SPI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Libraries/SoftSPI_HAL_Lib | 2 +- User/Main/main.c | 44 ++++++++++++++++----------------------- 2 files changed, 19 insertions(+), 27 deletions(-) diff --git a/Libraries/SoftSPI_HAL_Lib b/Libraries/SoftSPI_HAL_Lib index e6d62c9..e129b21 160000 --- a/Libraries/SoftSPI_HAL_Lib +++ b/Libraries/SoftSPI_HAL_Lib @@ -1 +1 @@ -Subproject commit e6d62c90e63c2e973893a098dc98ec67b4c5fd99 +Subproject commit e129b212f50433714371eb2460308c1440a8eb97 diff --git a/User/Main/main.c b/User/Main/main.c index bf8274a..0de1ef1 100644 --- a/User/Main/main.c +++ b/User/Main/main.c @@ -19,7 +19,6 @@ #include "led.h" void Echo(uint8_t byte); -void Test_SoftSPI_Init(void); int main(void) { @@ -35,13 +34,29 @@ int main(void) UART_BindReceiveHandle(COM1, Echo); //绑定 COM1 串口接收中断至 Echo 函数 - Test_SoftSPI_Init(); //软件 SPI 测试初始化 + SoftSPI_TypeDef SoftSPI; + + SoftSPI.SCLK_GPIO = GPIOB; + SoftSPI.SCLK_Pin = GPIO_PIN_10; + SoftSPI.MOSI_GPIO = GPIOA; + SoftSPI.MOSI_Pin = GPIO_PIN_5; + SoftSPI.MISO_GPIO = GPIOA; + SoftSPI.MISO_Pin = GPIO_PIN_4; + SoftSPI.SS_GPIO = GPIOA; + SoftSPI.SS_Pin = GPIO_PIN_6; + SoftSPI.Delay_Time = 10; + + if (SoftSPI_Init(&SoftSPI) != HAL_OK) //初始化软件 SPI + { + Error_Handler(__FILE__, __LINE__); //错误处理 + } + uint8_t write[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; uint8_t read[10]; while (1) { //程序主循环 - SoftSPI_WriteReadBuff(write, read, 10); + SoftSPI_WriteReadBuff(&SoftSPI, write, read, 10); Delay_us(100); } @@ -57,26 +72,3 @@ void Echo(uint8_t byte) LED1_Slow_Toggle; UART_SendChar(COM1, byte); } - -/** - * @brief 软件 SPI 测试初始化 - */ -void Test_SoftSPI_Init(void) -{ - SoftSPI_InitTypeDef SoftSPI_Initure; - - SoftSPI_Initure.SCLK_GPIO = GPIOB; - SoftSPI_Initure.SCLK_Pin = GPIO_PIN_10; - SoftSPI_Initure.MOSI_GPIO = GPIOA; - SoftSPI_Initure.MOSI_Pin = GPIO_PIN_5; - SoftSPI_Initure.MISO_GPIO = GPIOA; - SoftSPI_Initure.MISO_Pin = GPIO_PIN_4; - SoftSPI_Initure.SS_GPIO = GPIOA; - SoftSPI_Initure.SS_Pin = GPIO_PIN_6; - SoftSPI_Initure.Delay_Time = 10; - - if (SoftSPI_Init(&SoftSPI_Initure) != HAL_OK) //初始化软件 SPI - { - Error_Handler(__FILE__, __LINE__); //错误处理 - } -}