diff --git a/Libraries/SoftSPI_HAL_Lib b/Libraries/SoftSPI_HAL_Lib
index 645e976..e6d62c9 160000
--- a/Libraries/SoftSPI_HAL_Lib
+++ b/Libraries/SoftSPI_HAL_Lib
@@ -1 +1 @@
-Subproject commit 645e976d42783ba608ec5c14cdc3cfbf16427a04
+Subproject commit e6d62c90e63c2e973893a098dc98ec67b4c5fd99
diff --git a/Project/MasterNode.uvprojx b/Project/MasterNode.uvprojx
index 4c60cb0..16216e5 100644
--- a/Project/MasterNode.uvprojx
+++ b/Project/MasterNode.uvprojx
@@ -313,7 +313,7 @@
1
- 7
+ 1
0
0
1
@@ -339,7 +339,7 @@
USE_HAL_DRIVER, STM32F103x6
- ..\Core;..\Libraries\HAL_Lib\Inc;..\User\Main;..\System\sys;..\System\systick;..\System\uart;..\Hardware\led
+ ..\Core;..\Libraries\HAL_Lib\Inc;..\Libraries\SoftSPI_HAL_Lib;..\User\Main;..\System\sys;..\System\systick;..\System\uart;..\Hardware\led
@@ -635,6 +635,21 @@
+
+ SoftSPI_HAL_Lib
+
+
+ softspi_conf.h
+ 5
+ ..\Libraries\SoftSPI_HAL_Lib\softspi_conf.h
+
+
+ softspi.c
+ 1
+ ..\Libraries\SoftSPI_HAL_Lib\softspi.c
+
+
+
System
diff --git a/User/Main/main.c b/User/Main/main.c
index 214dbd0..bf8274a 100644
--- a/User/Main/main.c
+++ b/User/Main/main.c
@@ -1,20 +1,25 @@
/**
* @file main.c
* @author Myth
- * @version 0.1
- * @date 2021.10.11
+ * @version 0.2
+ * @date 2021.10.12
* @brief 工程主函数文件
* @details 初始化及主循环
- * @note 工程模版实现的功能:串口回显,回显时 PC13 上的 LED 闪烁
+ * @note 此版本实现功能:
+ * 串口回显,回显时 PC13 上的 LED 闪烁
+ * 软件 SPI
*/
#include "sys.h"
#include "systick.h"
#include "uart.h"
+#include "softspi.h"
+
#include "led.h"
void Echo(uint8_t byte);
+void Test_SoftSPI_Init(void);
int main(void)
{
@@ -30,9 +35,14 @@ int main(void)
UART_BindReceiveHandle(COM1, Echo); //绑定 COM1 串口接收中断至 Echo 函数
+ Test_SoftSPI_Init(); //软件 SPI 测试初始化
+ 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);
+ Delay_us(100);
}
return 1;
@@ -47,3 +57,26 @@ 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__); //错误处理
+ }
+}