|
@@ -151,18 +151,18 @@ int main(void)
|
|
|
|
|
|
// manual dma start sample
|
|
// manual dma start sample
|
|
/* Set DMA transfer addresses of source and destination */
|
|
/* Set DMA transfer addresses of source and destination */
|
|
- LL_DMA_ConfigAddresses(DMA1,
|
|
|
|
- LL_DMA_CHANNEL_1,
|
|
|
|
- (uint32_t)&nixieTubes,
|
|
|
|
- (uint32_t)&(SPI1->DR),
|
|
|
|
- LL_DMA_DIRECTION_MEMORY_TO_PERIPH);
|
|
|
|
|
|
+ //LL_DMA_ConfigAddresses(DMA1,
|
|
|
|
+ // LL_DMA_CHANNEL_1,
|
|
|
|
+ // (uint32_t)&nixieTubes,
|
|
|
|
+ // (uint32_t)&(SPI1->DR),
|
|
|
|
+ // LL_DMA_DIRECTION_MEMORY_TO_PERIPH);
|
|
|
|
|
|
/* Set DMA transfer size */
|
|
/* Set DMA transfer size */
|
|
- LL_DMA_SetDataLength(DMA1, LL_DMA_CHANNEL_1, SPI_BUFFER_SIZE);
|
|
|
|
|
|
+ //LL_DMA_SetDataLength(DMA1, LL_DMA_CHANNEL_1, SPI_BUFFER_SIZE);
|
|
|
|
|
|
/* Enable DMA transfer complete/error interrupts */
|
|
/* Enable DMA transfer complete/error interrupts */
|
|
- LL_DMA_EnableIT_TC(DMA1, LL_DMA_CHANNEL_1);
|
|
|
|
- LL_DMA_EnableIT_TE(DMA1, LL_DMA_CHANNEL_1);
|
|
|
|
|
|
+ //LL_DMA_EnableIT_TC(DMA1, LL_DMA_CHANNEL_1);
|
|
|
|
+ //LL_DMA_EnableIT_TE(DMA1, LL_DMA_CHANNEL_1);
|
|
|
|
|
|
showDigit(Tube_A, 1);
|
|
showDigit(Tube_A, 1);
|
|
showDigit(Tube_B, 2);
|
|
showDigit(Tube_B, 2);
|
|
@@ -170,11 +170,28 @@ int main(void)
|
|
showDigit(Tube_E, 4);
|
|
showDigit(Tube_E, 4);
|
|
|
|
|
|
/* Start the DMA transfer from Memory to SPI1 */
|
|
/* Start the DMA transfer from Memory to SPI1 */
|
|
- LL_DMA_EnableChannel(DMA1, LL_DMA_CHANNEL_1);
|
|
|
|
|
|
+ //LL_DMA_EnableChannel(DMA1, LL_DMA_CHANNEL_1);
|
|
/* Start SPI */
|
|
/* Start SPI */
|
|
- LL_SPI_EnableDMAReq_TX(SPI1);
|
|
|
|
|
|
+ //LL_SPI_EnableIT_ERR(SPI1);
|
|
|
|
+ //LL_SPI_EnableIT_RXNE(SPI1);
|
|
|
|
+ //LL_SPI_EnableDMAReq_TX(SPI1);
|
|
LL_SPI_Enable(SPI1);
|
|
LL_SPI_Enable(SPI1);
|
|
|
|
|
|
|
|
+ LATCH_DOWN;
|
|
|
|
+ while ((SPI1->SR & SPI_SR_TXE) == 0);
|
|
|
|
+ SPI1->DR = nixieTubes[0];
|
|
|
|
+ while ((SPI1->SR & SPI_SR_TXE) == 0);
|
|
|
|
+ SPI1->DR = nixieTubes[1];
|
|
|
|
+ while ((SPI1->SR & SPI_SR_TXE) == 0);
|
|
|
|
+ SPI1->DR = nixieTubes[2];
|
|
|
|
+ while ((SPI1->SR & SPI_SR_TXE) == 0);
|
|
|
|
+ SPI1->DR = nixieTubes[3];
|
|
|
|
+ while ((SPI1->SR & SPI_SR_TXE) == 0);
|
|
|
|
+ SPI1->DR = nixieTubes[4];
|
|
|
|
+ while ((SPI1->SR & SPI_SR_FTLVL) != 0);
|
|
|
|
+ while ((SPI1->SR & SPI_SR_BSY) != 0);
|
|
|
|
+ LATCH_UP;
|
|
|
|
+
|
|
// COLOR_R(0);
|
|
// COLOR_R(0);
|
|
// COLOR_G(0);
|
|
// COLOR_G(0);
|
|
// COLOR_B(0);
|
|
// COLOR_B(0);
|
|
@@ -206,7 +223,22 @@ int main(void)
|
|
/* USER CODE END WHILE */
|
|
/* USER CODE END WHILE */
|
|
|
|
|
|
/* USER CODE BEGIN 3 */
|
|
/* USER CODE BEGIN 3 */
|
|
- // __WFI();
|
|
|
|
|
|
+ LATCH_DOWN;
|
|
|
|
+ while ((SPI1->SR & SPI_SR_TXE) == 0);
|
|
|
|
+ SPI1->DR = nixieTubes[0];
|
|
|
|
+ while ((SPI1->SR & SPI_SR_TXE) == 0);
|
|
|
|
+ SPI1->DR = nixieTubes[1];
|
|
|
|
+ while ((SPI1->SR & SPI_SR_TXE) == 0);
|
|
|
|
+ SPI1->DR = nixieTubes[2];
|
|
|
|
+ while ((SPI1->SR & SPI_SR_TXE) == 0);
|
|
|
|
+ SPI1->DR = nixieTubes[3];
|
|
|
|
+ while ((SPI1->SR & SPI_SR_TXE) == 0);
|
|
|
|
+ SPI1->DR = nixieTubes[4];
|
|
|
|
+ while ((SPI1->SR & SPI_SR_FTLVL) != 0);
|
|
|
|
+ while ((SPI1->SR & SPI_SR_BSY) != 0);
|
|
|
|
+ LL_mDelay(1);
|
|
|
|
+ LATCH_UP;
|
|
|
|
+ //__WFI();
|
|
}
|
|
}
|
|
/* USER CODE END 3 */
|
|
/* USER CODE END 3 */
|
|
}
|
|
}
|