summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Libraries/LED_Driver/led_driver_config.c43
-rw-r--r--Libraries/LED_Driver/led_driver_process.c23
2 files changed, 21 insertions, 45 deletions
diff --git a/Libraries/LED_Driver/led_driver_config.c b/Libraries/LED_Driver/led_driver_config.c
index d2df9d4..d71792d 100644
--- a/Libraries/LED_Driver/led_driver_config.c
+++ b/Libraries/LED_Driver/led_driver_config.c
@@ -121,7 +121,7 @@ static void LED_SPIConfig ( void )
SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low;
SPI_InitStructure.SPI_CPHA = SPI_CPHA_1Edge;
SPI_InitStructure.SPI_NSS = SPI_NSS_Soft;
- SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_64;
+ SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_8;
SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB;
SPI_InitStructure.SPI_CRCPolynomial = 7;
SPI_InitStructure.SPI_Mode = SPI_Mode_Master;
@@ -141,44 +141,3 @@ static void LED_SPIConfig ( void )
LED_ST_PIN_RESET;
}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Libraries/LED_Driver/led_driver_process.c b/Libraries/LED_Driver/led_driver_process.c
index 2389212..f809688 100644
--- a/Libraries/LED_Driver/led_driver_process.c
+++ b/Libraries/LED_Driver/led_driver_process.c
@@ -8,6 +8,23 @@
// ----------------------------------------------------------------------------
void LEDDriverProcessFromISR ( void )
{
- LED_ST_PIN_RESET;
- SPI_I2S_SendData16 ( LED_SPIx, (uint16_t)0 );
-} \ No newline at end of file
+ asm volatile("cpsid i");
+ LED_ST_PIN_RESET;
+ for (int j = 0; j < 4; j++) {
+ LED_SPIx->DR = 0;
+ while (SPI_I2S_FLAG_BSY & LED_SPIx->SR);
+ for (int i = 0; i < 4; i++) {
+ LED_SPIx->DR = 0xf8f8;
+ while (SPI_I2S_FLAG_BSY & LED_SPIx->SR);
+ }
+ for (int i = 0; i < 4; i++) {
+ LED_SPIx->DR = 0xe0e0;
+ while (SPI_I2S_FLAG_BSY & LED_SPIx->SR);
+ }
+ for (int i = 0; i < 4; i++) {
+ LED_SPIx->DR = 0xe0e0;
+ while (SPI_I2S_FLAG_BSY & LED_SPIx->SR);
+ }
+ }
+ asm volatile("cpsie i");
+}