初步实现软件 SPI

This commit is contained in:
lxbpxylps@126.com 2021-10-12 12:12:39 +08:00
parent cdefe76e41
commit 16f610b803
3 changed files with 54 additions and 6 deletions

@ -1 +1 @@
Subproject commit 645e976d42783ba608ec5c14cdc3cfbf16427a04
Subproject commit e6d62c90e63c2e973893a098dc98ec67b4c5fd99

View File

@ -313,7 +313,7 @@
</ArmAdsMisc>
<Cads>
<interw>1</interw>
<Optim>7</Optim>
<Optim>1</Optim>
<oTime>0</oTime>
<SplitLS>0</SplitLS>
<OneElfS>1</OneElfS>
@ -339,7 +339,7 @@
<MiscControls></MiscControls>
<Define>USE_HAL_DRIVER, STM32F103x6</Define>
<Undefine></Undefine>
<IncludePath>..\Core;..\Libraries\HAL_Lib\Inc;..\User\Main;..\System\sys;..\System\systick;..\System\uart;..\Hardware\led</IncludePath>
<IncludePath>..\Core;..\Libraries\HAL_Lib\Inc;..\Libraries\SoftSPI_HAL_Lib;..\User\Main;..\System\sys;..\System\systick;..\System\uart;..\Hardware\led</IncludePath>
</VariousControls>
</Cads>
<Aads>
@ -635,6 +635,21 @@
</File>
</Files>
</Group>
<Group>
<GroupName>SoftSPI_HAL_Lib</GroupName>
<Files>
<File>
<FileName>softspi_conf.h</FileName>
<FileType>5</FileType>
<FilePath>..\Libraries\SoftSPI_HAL_Lib\softspi_conf.h</FilePath>
</File>
<File>
<FileName>softspi.c</FileName>
<FileType>1</FileType>
<FilePath>..\Libraries\SoftSPI_HAL_Lib\softspi.c</FilePath>
</File>
</Files>
</Group>
<Group>
<GroupName>System</GroupName>
<Files>

View File

@ -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__); //错误处理
}
}