|
@@ -136,39 +136,44 @@ int main(void)
|
|
//LL_Init1msTick(rcc_clocks.HCLK_Frequency);
|
|
//LL_Init1msTick(rcc_clocks.HCLK_Frequency);
|
|
//LL_mDelay(1);
|
|
//LL_mDelay(1);
|
|
|
|
|
|
- /* Start Timers */
|
|
|
|
|
|
+ /* Start RGB PWM */
|
|
LL_TIM_CC_EnableChannel(TIM3, LL_TIM_CHANNEL_CH1);
|
|
LL_TIM_CC_EnableChannel(TIM3, LL_TIM_CHANNEL_CH1);
|
|
LL_TIM_CC_EnableChannel(TIM3, LL_TIM_CHANNEL_CH2);
|
|
LL_TIM_CC_EnableChannel(TIM3, LL_TIM_CHANNEL_CH2);
|
|
LL_TIM_CC_EnableChannel(TIM3, LL_TIM_CHANNEL_CH3);
|
|
LL_TIM_CC_EnableChannel(TIM3, LL_TIM_CHANNEL_CH3);
|
|
LL_TIM_EnableCounter(TIM3);
|
|
LL_TIM_EnableCounter(TIM3);
|
|
|
|
+
|
|
|
|
+ /* Start Tube PWR PWM */
|
|
LL_TIM_CC_EnableChannel(TIM14, LL_TIM_CHANNEL_CH1);
|
|
LL_TIM_CC_EnableChannel(TIM14, LL_TIM_CHANNEL_CH1);
|
|
LL_TIM_EnableCounter(TIM14);
|
|
LL_TIM_EnableCounter(TIM14);
|
|
|
|
|
|
/* Enable tube power */
|
|
/* Enable tube power */
|
|
- SHDN_OFF;
|
|
|
|
|
|
+ TUBE_PWR_ON;
|
|
|
|
|
|
// 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)&aDST_Buffer,
|
|
|
|
-// LL_DMA_DIRECTION_MEMORY_TO_MEMORY);
|
|
|
|
|
|
+ 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);
|
|
showDigit(Tube_D, 3);
|
|
showDigit(Tube_D, 3);
|
|
showDigit(Tube_E, 4);
|
|
showDigit(Tube_E, 4);
|
|
|
|
|
|
- /* Start the DMA transfer Flash to Memory */
|
|
|
|
|
|
+ /* 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 */
|
|
|
|
+ LL_SPI_EnableDMAReq_TX(SPI1);
|
|
|
|
+ LL_SPI_Enable(SPI1);
|
|
|
|
|
|
// COLOR_R(0);
|
|
// COLOR_R(0);
|
|
// COLOR_G(0);
|
|
// COLOR_G(0);
|
|
@@ -409,7 +414,7 @@ static void MX_SPI1_Init(void)
|
|
NVIC_EnableIRQ(SPI1_IRQn);
|
|
NVIC_EnableIRQ(SPI1_IRQn);
|
|
|
|
|
|
/* USER CODE BEGIN SPI1_Init 1 */
|
|
/* USER CODE BEGIN SPI1_Init 1 */
|
|
- LL_DMA_SetDataLength(DMA1, LL_DMA_CHANNEL_1, SPI_BUFFER_SIZE);
|
|
|
|
|
|
+
|
|
/* USER CODE END SPI1_Init 1 */
|
|
/* USER CODE END SPI1_Init 1 */
|
|
/* SPI1 parameter configuration*/
|
|
/* SPI1 parameter configuration*/
|
|
SPI_InitStruct.TransferDirection = LL_SPI_FULL_DUPLEX;
|
|
SPI_InitStruct.TransferDirection = LL_SPI_FULL_DUPLEX;
|