75 lines
1.6 KiB
C
Raw Normal View History

2021-10-11 16:53:23 +08:00
/**
* @file main.c
* @author Myth
2021-10-12 12:12:39 +08:00
* @version 0.2
* @date 2021.10.12
2021-10-11 16:53:23 +08:00
* @brief
* @details
2021-10-12 12:12:39 +08:00
* @note
* PC13 LED
* SPI
2021-10-11 16:53:23 +08:00
*/
#include "sys.h"
#include "systick.h"
#include "uart.h"
2021-10-12 12:12:39 +08:00
#include "softspi.h"
#include "led.h"
2021-10-11 16:53:23 +08:00
void Echo(uint8_t byte);
int main(void)
{
if (HAL_Init() != HAL_OK) //初始化 HAL 库
{
Error_Handler(__FILE__, __LINE__); //错误处理
}
SystemClock_Config(); //初始化系统时钟为 72MHz
SysTick_Init(); //初始化 SysTick 和软件定时器
UART_Init(); //初始化串口
LED_Init(); //初始化 LED
2021-10-11 16:53:23 +08:00
UART_BindReceiveHandle(COM1, Echo); //绑定 COM1 串口接收中断至 Echo 函数
2021-10-12 18:16:24 +08:00
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__); //错误处理
}
2021-10-12 12:12:39 +08:00
uint8_t write[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
uint8_t read[10];
2021-10-11 16:53:23 +08:00
while (1)
{
//程序主循环
2021-10-12 18:16:24 +08:00
SoftSPI_WriteReadBuff(&SoftSPI, write, read, 10);
2021-10-12 12:12:39 +08:00
Delay_us(100);
2021-10-11 16:53:23 +08:00
}
return 1;
}
/**
* @brief
* @param byte:
*/
void Echo(uint8_t byte)
{
LED1_Slow_Toggle;
2021-10-11 16:53:23 +08:00
UART_SendChar(COM1, byte);
}