Browse Source

update,exist bug

temp
tianjialong 2 years ago
parent
commit
d4f333a170
  1. 34
      app/MDK-ARM/app.uvguix.29643
  2. 89
      usersrc/usermain.c

34
app/MDK-ARM/app.uvguix.29643
File diff suppressed because it is too large
View File

89
usersrc/usermain.c

@ -49,21 +49,98 @@ void sys_delay_us(uint32_t us)
HAL_TIM_Base_Stop(&htim7);
}
void dotable()
void set_spi_table_sel(uint8_t startoff)
{
for (size_t i = 0; i < spi_table_type_size; i++)
{
if (i < startoff)
{
table[SPI_SEL_TYPE][i] = 1;
}
else if (i >= startoff && i < (startoff + 33))
{
table[SPI_SEL_TYPE][i] = 0;
}
else
{
table[SPI_SEL_TYPE][i] = 1;
}
}
}
void set_spi_table_sck(uint8_t startoff)
{
bool clocklevel = false;
for (size_t i = 0; i < spi_table_type_size; i++)
{
if (i < startoff)
{
table[SPI_SCK_TYPE][i] = 1;
}
else if (i >= startoff && i < (startoff + 32))
{
table[0][i] ? SPI_CS_1() : SPI_CS_0();
table[1][i] ? SPI_SCK_1() : SPI_SCK_0();
table[2][i] ? SPI_MOSI_1() : SPI_MOSI_0();
(clocklevel) ? (table[SPI_SCK_TYPE][i] = 1) : (table[SPI_SCK_TYPE][i] = 0);
clocklevel = !clocklevel;
}
else
{
table[SPI_SCK_TYPE][i] = 1;
}
}
}
void set_spi_table_mosi(uint8_t startoff, uint8_t txdata)
{
HAL_UART_Transmit(&huart1, &txdata, 1, 100);
for (size_t i = 0; i < spi_table_type_size; i++)
{
if (i < startoff)
{
table[SPI_MOSI_TYPE][i] = 1;
}
else if (i >= startoff && i < (startoff + 8))
{
(txdata & 0x80) ? (table[SPI_MOSI_TYPE][i] = 1) : (table[SPI_MOSI_TYPE][i] = 0);
txdata = txdata << 1;
HAL_UART_Transmit(&huart1, &txdata, 1, 100);
}
else if (i <= spi_table_type_size - 2)
{
table[SPI_MOSI_TYPE][i] = 0;
}
else
{
table[SPI_MOSI_TYPE][i] = 1;
}
}
}
void dotable(uint8_t txdata)
{
int sel_startoff = 4;
int clock_startoff = 5;
int mosi_startoff = 5;
memset(&table[SPI_MOSI_TYPE][0], 0, spi_table_type_size);
memset(&table[SPI_SCK_TYPE][0], 0, spi_table_type_size);
set_spi_table_sel(sel_startoff);
set_spi_table_sck(clock_startoff);
set_spi_table_mosi(mosi_startoff, txdata);
for (size_t i = 0; i < spi_table_type_size; i++)
{
table[SPI_SEL_TYPE][i] ? SPI_CS_1() : SPI_CS_0();
table[SPI_SCK_TYPE][i] ? SPI_SCK_1() : SPI_SCK_0();
table[SPI_MOSI_TYPE][i] ? SPI_MOSI_1() : SPI_MOSI_0();
sys_delay_us(spi_delay_us);
}
}
void user_main()
{
uint8_t temp;
// uint8_t temp;
SPI_CS_1(); //
SPI_SCK_1(); //
@ -71,7 +148,7 @@ void user_main()
while (1)
{
dotable();
dotable(0x86);
// HAL_UART_Transmit(&huart1, &temp, 1, 100);
HAL_Delay(10);
}

Loading…
Cancel
Save