Browse Source

update

temp
tianjialong 2 years ago
parent
commit
033eec5c16
  1. 60
      usersrc/usermain.c

60
usersrc/usermain.c

@ -7,13 +7,69 @@
#define READ_CMD 0x80 #define READ_CMD 0x80
#define SPI_TIMEOUT_VALUE 1000 #define SPI_TIMEOUT_VALUE 1000
#define SPI_CS_Enable() HAL_GPIO_WritePin(SPI_SEL_GPIO_Port, SPI_SEL_Pin, GPIO_PIN_RESET)
#define SPI_CS_Disable() HAL_GPIO_WritePin(SPI_SEL_GPIO_Port, SPI_SEL_Pin, GPIO_PIN_SET)
#define SPI_CS_1() HAL_GPIO_WritePin(SPI_SEL_GPIO_Port, SPI_SEL_Pin, GPIO_PIN_SET) /* */
#define SPI_CS_0() HAL_GPIO_WritePin(SPI_SEL_GPIO_Port, SPI_SEL_Pin, GPIO_PIN_RESET) /* */
#define SPI_SCK_1() HAL_GPIO_WritePin(CLK_GPIO_Port, CLK_Pin, GPIO_PIN_SET) /* SCK = 1 */
#define SPI_SCK_0() HAL_GPIO_WritePin(CLK_GPIO_Port, CLK_Pin, GPIO_PIN_RESET) /* SCK = 0 */
#define SPI_MOSI_1() HAL_GPIO_WritePin(MOSI_GPIO_Port, MOSI_Pin, GPIO_PIN_SET) /* MOSI = 1 */
#define SPI_MOSI_0() HAL_GPIO_WritePin(MOSI_GPIO_Port, MOSI_Pin, GPIO_PIN_RESET) /* MOSI = 0 */
#define SPI_READ_MISO() GPIO_ReadInputDataBit(MISO_GPIO_Port, MISO_Pin) /* 读MISO口线状态 */
#define Dummy_Byte 0xFF // 读取时MISO发送的数据,可以为任意数据
// SPI可以同时读取和写入数据
uint8_t SPI_ReadWriteByte(uint8_t txData)
{
uint8_t i;
uint8_t rxData = 0;
for (i = 0; i < 8; i++)
{
SPI_SCK_0();
delay_us(1);
//
if (txData & 0x80)
{
SPI_MOSI_1();
}
else
{
SPI_MOSI_0();
}
txData <<= 1;
delay_us(1);
SPI_SCK_1();
delay_us(1);
//
rxData <<= 1;
if (SPI_READ_MISO())
{
rxData |= 0x01;
}
delay_us(1);
}
SPI_SCK_0();
return rxData;
}
// uint8_t SPI_ReadByte(void)
// {
// return SPI_ReadWriteByte(Dummy_Byte);
// }
// void SPI_WriteByte(uint8_t txData)
// {
// (void)SPI_ReadWriteByte(txData);
// }
void user_main() void user_main()
{ {
uint8_t temp; uint8_t temp;
SPI_CS_Disable();
while (1) while (1)
{ {
// HAL_UART_Transmit(&huart1, &temp, 1, 100); // HAL_UART_Transmit(&huart1, &temp, 1, 100);

Loading…
Cancel
Save