|
@@ -70,7 +70,7 @@ void sh_init(void)
|
|
|
spi_default_para_init(&spi_init_struct);
|
|
|
spi_init_struct.transmission_mode = SPI_TRANSMIT_FULL_DUPLEX;
|
|
|
spi_init_struct.master_slave_mode = SPI_MODE_MASTER;
|
|
|
- spi_init_struct.mclk_freq_division = SPI_MCLK_DIV_32; //SPI_MCLK_DIV_2;
|
|
|
+ spi_init_struct.mclk_freq_division = SPI_MCLK_DIV_32;
|
|
|
spi_init_struct.first_bit_transmission = SPI_FIRST_BIT_MSB;
|
|
|
spi_init_struct.frame_bit_num = SPI_FRAME_8BIT;
|
|
|
spi_init_struct.clock_polarity = SPI_CLOCK_POLARITY_HIGH;//SPI_CLOCK_POLARITY_LOW;
|
|
@@ -89,7 +89,7 @@ void sh_init(void)
|
|
|
uint16_t sh_ai_mode(uint16_t val)
|
|
|
{
|
|
|
uint16_t ret = 0;
|
|
|
-
|
|
|
+
|
|
|
// Данные отправлеяются во второй регистр U402
|
|
|
while (spi_i2s_flag_get(SH_SPI, SPI_I2S_TDBE_FLAG) == RESET);
|
|
|
SH_SPI->dt = (0x003F) & (val >> 8);
|
|
@@ -110,7 +110,9 @@ uint16_t sh_ai_mode(uint16_t val)
|
|
|
nop(5);
|
|
|
gpio_bits_reset(GPIOD, GPIO_PINS_0);
|
|
|
nop(5);
|
|
|
-
|
|
|
+
|
|
|
+ vTaskDelay(1);
|
|
|
+
|
|
|
// Данные отправлеяются во второй регистр U402
|
|
|
while (spi_i2s_flag_get(SH_SPI, SPI_I2S_TDBE_FLAG) == RESET);
|
|
|
SH_SPI->dt = (0x003F) & (val >> 8);
|
|
@@ -131,8 +133,9 @@ uint16_t sh_ai_mode(uint16_t val)
|
|
|
nop(5);
|
|
|
gpio_bits_reset(GPIOD, GPIO_PINS_0);
|
|
|
nop(5);
|
|
|
-
|
|
|
+
|
|
|
//printf("SH return: %X\r\n", ret);
|
|
|
+
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
@@ -150,17 +153,6 @@ void sh_ai_connect(uint16_t val)
|
|
|
gpio_bits_set(GPIOD, GPIO_PINS_3);
|
|
|
nop(5);
|
|
|
gpio_bits_reset(GPIOD, GPIO_PINS_3);
|
|
|
-#if 0
|
|
|
- while (spi_i2s_flag_get(SH_SPI, SPI_I2S_TDBE_FLAG) == RESET);
|
|
|
- SH_SPI->dt = val;
|
|
|
-
|
|
|
- while (spi_i2s_flag_get(SH_SPI, SPI_I2S_RDBF_FLAG) == RESET);
|
|
|
- ret = SH_SPI->dt;
|
|
|
-
|
|
|
- gpio_bits_set(GPIOD, GPIO_PINS_3);
|
|
|
- nop(5);
|
|
|
- gpio_bits_reset(GPIOD, GPIO_PINS_3);
|
|
|
-#endif
|
|
|
}
|
|
|
|
|
|
//
|