static uint8_t SPI_Soft_ReceiveByte(void)
{
uint8_t i, data = 0;
SCLK_H();
delay_us(1);
for (i = 0; i < 8; i++)
{
data <<= 1;
SCLK_L();
delay_us(1);
SCLK_H();
delay_us(1);
if (HAL_GPIO_ReadPin(DOUT_GPIO_Port, DOUT_Pin))
{
data |= 0x01;
}
}
delay_us(2);
return data;
}
uint32_t ATT7022E_ReadReg(uint8_t reg_addr)
{
uint32_t data = 0;
uint8_t cmd = reg_addr & 0x7F;
CS_L();
delay_us(2);
SPI_Soft_SendByte(cmd);
delay_us(2);
data = (uint32_t)SPI_Soft_ReceiveByte() << 16;
data |= (uint32_t)SPI_Soft_ReceiveByte() << 8;
data |= SPI_Soft_ReceiveByte();
CS_H();
delay_us(2);
return data;
}