Browse Source

update

temp
tianjialong 2 years ago
parent
commit
2a588a4f34
  1. 19
      usersrc/usermain.c

19
usersrc/usermain.c

@ -4,6 +4,7 @@
#include <string.h>
#include "main.h"
#include "usart.h"
#include "tim.h"
#define READ_CMD 0x80
#define SPI_TIMEOUT_VALUE 1000
@ -17,6 +18,16 @@
#define Dummy_Byte 0xFF // 读取时MISO发送的数据,可以为任意数据
void sys_sys_delay_us(uint32_t us) {
uint16_t counter = 0;
__HAL_TIM_SET_COUNTER(&htim7, 0);
HAL_TIM_Base_Start(&htim7);
while (counter < us) {
counter = __HAL_TIM_GET_COUNTER(&htim7);
}
HAL_TIM_Base_Stop(&htim7);
}
// SPI可以同时读取和写入数据
uint8_t SPI_ReadWriteByte(uint8_t txData)
{
@ -26,7 +37,7 @@ uint8_t SPI_ReadWriteByte(uint8_t txData)
for (i = 0; i < 8; i++)
{
SPI_SCK_0();
delay_us(1);
sys_delay_us(1);
//
if (txData & 0x80)
{
@ -37,17 +48,17 @@ uint8_t SPI_ReadWriteByte(uint8_t txData)
SPI_MOSI_0();
}
txData <<= 1;
delay_us(1);
sys_delay_us(1);
SPI_SCK_1();
delay_us(1);
sys_delay_us(1);
//
rxData <<= 1;
if (SPI_READ_MISO())
{
rxData |= 0x01;
}
delay_us(1);
sys_delay_us(1);
}
SPI_SCK_0();

Loading…
Cancel
Save