Browse Source

Revert display init. Speed Up SPI.

Vladimir N. Shilov 2 years ago
parent
commit
4ca17ad51f
3 changed files with 8 additions and 7 deletions
  1. 2 2
      src/board.c
  2. 5 4
      src/display.c
  3. 1 1
      src/main.c

+ 2 - 2
src/board.c

@@ -181,8 +181,8 @@ static void SPI1_Init(void)
   NVIC_SetPriority(SPI1_IRQn, 0);
   NVIC_EnableIRQ(SPI1_IRQn);
 
-  /* SPI1 parameter configuration: master mode, data 8 bit, divider = 64, TX DMA */
-  SPI1->CR1 = (SPI_CR1_BR_2 | SPI_CR1_BR_0 | SPI_CR1_MSTR | SPI_CR1_SSM | SPI_CR1_SSI | SPI_CR1_CPOL | SPI_CR1_CPHA | SPI_CR1_LSBFIRST);
+  /* SPI1 parameter configuration: master mode, data 8 bit, divider = 2, TX DMA SPI_CR1_BR_2 | SPI_CR1_BR_0 |  */
+  SPI1->CR1 = (SPI_CR1_MSTR | SPI_CR1_SSM | SPI_CR1_SSI | SPI_CR1_CPOL | SPI_CR1_CPHA | SPI_CR1_LSBFIRST);
   SPI1->CR2 = (SPI_CR2_DS_2 | SPI_CR2_DS_1 | SPI_CR2_DS_0 | SPI_CR2_TXDMAEN);
 }
 

+ 5 - 4
src/display.c

@@ -28,7 +28,6 @@ static void _delay_c(uint32_t cycle);
 void display_Init(void) {
   /* Wait for SPI */
   while ((SPI1->SR & SPI_SR_BSY) != 0) { __NOP(); }
-  display_Fill(0x0);
 
   GPIO_SPI_SW();
   HT1632C_CS_ON;
@@ -40,6 +39,8 @@ void display_Init(void) {
 
   HT1632C_CS_OFF;
   GPIO_SPI_HW();
+
+  display_Fill(0x0);
 }
 
 /**
@@ -175,7 +176,7 @@ static void _delay_c(uint32_t cycle) {
  * @param nbits num of bits (1<<(num-1))
  */
 void _display_WriteBits(const uint16_t data, uint16_t nbits) {
-  _delay_c(2);
+//  _delay_c(2);
   do {
     HT1632C_WR_LOW;
 
@@ -184,9 +185,9 @@ void _display_WriteBits(const uint16_t data, uint16_t nbits) {
     } else {
       HT1632C_DATA_0;
     }
-    _delay_c(5);
+//    _delay_c(5);
     HT1632C_WR_HGH;
-    _delay_c(5);
+//    _delay_c(5);
   } while (nbits >>= 1);
 }
 

+ 1 - 1
src/main.c

@@ -67,7 +67,7 @@ int main(void)
   bip_Bip();
   tdelay_ms(675);
   bip_Bip();
-  tdelay_ms(5000);
+  tdelay_ms(1000);
 
   Show_MMSS();