diff --git a/workspace/01_GPIO/.settings/language.settings.xml b/workspace/01_GPIO/.settings/language.settings.xml
index 825446a..11fe24a 100644
--- a/workspace/01_GPIO/.settings/language.settings.xml
+++ b/workspace/01_GPIO/.settings/language.settings.xml
@@ -5,7 +5,7 @@
-
+
@@ -16,7 +16,7 @@
-
+
diff --git a/workspace/02_UART/.settings/language.settings.xml b/workspace/02_UART/.settings/language.settings.xml
index 825446a..11fe24a 100644
--- a/workspace/02_UART/.settings/language.settings.xml
+++ b/workspace/02_UART/.settings/language.settings.xml
@@ -5,7 +5,7 @@
-
+
@@ -16,7 +16,7 @@
-
+
diff --git a/workspace/03_UART_printf/.settings/language.settings.xml b/workspace/03_UART_printf/.settings/language.settings.xml
index 825446a..11fe24a 100644
--- a/workspace/03_UART_printf/.settings/language.settings.xml
+++ b/workspace/03_UART_printf/.settings/language.settings.xml
@@ -5,7 +5,7 @@
-
+
@@ -16,7 +16,7 @@
-
+
diff --git a/workspace/04_ADC_Continuous_Conversion/.settings/language.settings.xml b/workspace/04_ADC_Continuous_Conversion/.settings/language.settings.xml
index 825446a..11fe24a 100644
--- a/workspace/04_ADC_Continuous_Conversion/.settings/language.settings.xml
+++ b/workspace/04_ADC_Continuous_Conversion/.settings/language.settings.xml
@@ -5,7 +5,7 @@
-
+
@@ -16,7 +16,7 @@
-
+
diff --git a/workspace/04_ADC_Continuous_Conversion/Core/Inc/exti.h b/workspace/04_ADC_Continuous_Conversion/Core/Inc/exti.h
index 635cd29..36ba775 100644
--- a/workspace/04_ADC_Continuous_Conversion/Core/Inc/exti.h
+++ b/workspace/04_ADC_Continuous_Conversion/Core/Inc/exti.h
@@ -9,10 +9,4 @@ void gpio_pc13_interrupt_init(void);
-
-
-
-
-
-
#endif /* INC_EXTI_H_ */
diff --git a/workspace/04_ADC_Continuous_Conversion/Core/Src/main.c b/workspace/04_ADC_Continuous_Conversion/Core/Src/main.c
index 47e1354..f3ccb97 100644
--- a/workspace/04_ADC_Continuous_Conversion/Core/Src/main.c
+++ b/workspace/04_ADC_Continuous_Conversion/Core/Src/main.c
@@ -7,7 +7,6 @@
#include "adc.h"
// PA0: Button
-
// PD12: Green
// PD13: Orange
// PD14: Red
diff --git a/workspace/05_GPIO_Interrupt_EXTI/.settings/language.settings.xml b/workspace/05_GPIO_Interrupt_EXTI/.settings/language.settings.xml
index 825446a..11fe24a 100644
--- a/workspace/05_GPIO_Interrupt_EXTI/.settings/language.settings.xml
+++ b/workspace/05_GPIO_Interrupt_EXTI/.settings/language.settings.xml
@@ -5,7 +5,7 @@
-
+
@@ -16,7 +16,7 @@
-
+
diff --git a/workspace/05_GPIO_Interrupt_EXTI/Core/Src/main.c b/workspace/05_GPIO_Interrupt_EXTI/Core/Src/main.c
index b3826d5..9db50b7 100644
--- a/workspace/05_GPIO_Interrupt_EXTI/Core/Src/main.c
+++ b/workspace/05_GPIO_Interrupt_EXTI/Core/Src/main.c
@@ -8,7 +8,6 @@
#include "exti.h"
// PA0: Button
-
// PD12: Green
// PD13: Orange
// PD14: Red
@@ -21,11 +20,8 @@ int main(void) {
HAL_Init();
led_init();
-
gpio_pa0_interrupt_init();
-
while(1) {
-
}
}
diff --git a/workspace/07_Timer/.settings/language.settings.xml b/workspace/07_Timer/.settings/language.settings.xml
index 825446a..11fe24a 100644
--- a/workspace/07_Timer/.settings/language.settings.xml
+++ b/workspace/07_Timer/.settings/language.settings.xml
@@ -5,7 +5,7 @@
-
+
@@ -16,7 +16,7 @@
-
+
diff --git a/workspace/07_Timer/Core/Inc/tim.h b/workspace/07_Timer/Core/Inc/tim.h
index 020b815..8a5e0d9 100644
--- a/workspace/07_Timer/Core/Inc/tim.h
+++ b/workspace/07_Timer/Core/Inc/tim.h
@@ -6,11 +6,8 @@
#define TIMx TIM3
#define TIMx_IRQn TIM3_IRQn
#define TIMx_IRQHandler TIM3_IRQHandler
-
#define _TIMx_CLK_ENABLE __HAL_RCC_TIM3_CLK_ENABLE()
-
void tim_timebase_init(void);
-
#endif /* INC_TIM_H_ */
diff --git a/workspace/07_Timer/Core/Src/main.c b/workspace/07_Timer/Core/Src/main.c
index 95fc6ef..7a2ac93 100644
--- a/workspace/07_Timer/Core/Src/main.c
+++ b/workspace/07_Timer/Core/Src/main.c
@@ -6,7 +6,6 @@
#include "tim.h"
// PA0: Button
-
// PD12: Green
// PD13: Orange
// PD14: Red
diff --git a/workspace/08_ADC_Single_Conversion/.settings/language.settings.xml b/workspace/08_ADC_Single_Conversion/.settings/language.settings.xml
index 825446a..11fe24a 100644
--- a/workspace/08_ADC_Single_Conversion/.settings/language.settings.xml
+++ b/workspace/08_ADC_Single_Conversion/.settings/language.settings.xml
@@ -5,7 +5,7 @@
-
+
@@ -16,7 +16,7 @@
-
+
diff --git a/workspace/08_ADC_Single_Conversion/Core/Src/main.c b/workspace/08_ADC_Single_Conversion/Core/Src/main.c
index 3437061..c7f070d 100644
--- a/workspace/08_ADC_Single_Conversion/Core/Src/main.c
+++ b/workspace/08_ADC_Single_Conversion/Core/Src/main.c
@@ -7,7 +7,6 @@
#include "adc.h"
// PA0: Button
-
// PD12: Green
// PD13: Orange
// PD14: Red
diff --git a/workspace/09_ADC_Interrupt/.settings/language.settings.xml b/workspace/09_ADC_Interrupt/.settings/language.settings.xml
index 825446a..11fe24a 100644
--- a/workspace/09_ADC_Interrupt/.settings/language.settings.xml
+++ b/workspace/09_ADC_Interrupt/.settings/language.settings.xml
@@ -5,7 +5,7 @@
-
+
@@ -16,7 +16,7 @@
-
+
diff --git a/workspace/09_ADC_Interrupt/Core/Inc/adc.h b/workspace/09_ADC_Interrupt/Core/Inc/adc.h
index 79ed35b..ef0b029 100644
--- a/workspace/09_ADC_Interrupt/Core/Inc/adc.h
+++ b/workspace/09_ADC_Interrupt/Core/Inc/adc.h
@@ -5,9 +5,7 @@
uint32_t pa0_adc_read(void);
void adc_init_start(void);
-
void adc_pa0_single_conv_init(void);
-
void adc_pa0_interrupt_init(void);
#endif /* INC_ADC_H_ */
diff --git a/workspace/09_ADC_Interrupt/Core/Src/adc.c b/workspace/09_ADC_Interrupt/Core/Src/adc.c
index 954738a..7c7f557 100644
--- a/workspace/09_ADC_Interrupt/Core/Src/adc.c
+++ b/workspace/09_ADC_Interrupt/Core/Src/adc.c
@@ -53,7 +53,6 @@ void adc_pa0_continuous_conv_init(void) {
}
-
void adc_pa0_single_conv_init(void) {
// Configure PA0 as analog pin
@@ -95,8 +94,6 @@ void adc_pa0_single_conv_init(void) {
}
-
-
void adc_pa0_interrupt_init(void) {
// Configure PA0 as analog pin
diff --git a/workspace/09_ADC_Interrupt/Core/Src/main.c b/workspace/09_ADC_Interrupt/Core/Src/main.c
index acd964a..e5e847f 100644
--- a/workspace/09_ADC_Interrupt/Core/Src/main.c
+++ b/workspace/09_ADC_Interrupt/Core/Src/main.c
@@ -7,7 +7,6 @@
#include "adc.h"
// PA0: Button
-
// PD12: Green
// PD13: Orange
// PD14: Red
diff --git a/workspace/10_UART_Interrupt/.settings/language.settings.xml b/workspace/10_UART_Interrupt/.settings/language.settings.xml
index 18902b1..2dd6b7b 100644
--- a/workspace/10_UART_Interrupt/.settings/language.settings.xml
+++ b/workspace/10_UART_Interrupt/.settings/language.settings.xml
@@ -5,7 +5,7 @@
-
+
@@ -17,7 +17,7 @@
-
+
diff --git a/workspace/10_UART_Interrupt/Core/Src/main.c b/workspace/10_UART_Interrupt/Core/Src/main.c
index ed9dee7..f92af42 100644
--- a/workspace/10_UART_Interrupt/Core/Src/main.c
+++ b/workspace/10_UART_Interrupt/Core/Src/main.c
@@ -7,7 +7,6 @@
#include "adc.h"
// PA0: Button
-
// PD12: Green
// PD13: Orange
// PD14: Red
diff --git a/workspace/11_ADC_DMA/.settings/language.settings.xml b/workspace/11_ADC_DMA/.settings/language.settings.xml
index 18902b1..2dd6b7b 100644
--- a/workspace/11_ADC_DMA/.settings/language.settings.xml
+++ b/workspace/11_ADC_DMA/.settings/language.settings.xml
@@ -5,7 +5,7 @@
-
+
@@ -17,7 +17,7 @@
-
+
diff --git a/workspace/11_ADC_DMA/Core/Src/main.c b/workspace/11_ADC_DMA/Core/Src/main.c
index c1b0560..d379ccb 100644
--- a/workspace/11_ADC_DMA/Core/Src/main.c
+++ b/workspace/11_ADC_DMA/Core/Src/main.c
@@ -7,7 +7,6 @@
#include "adc.h"
// PA0: Button
-
// PD12: Green
// PD13: Orange
// PD14: Red
diff --git a/workspace/12_ADC_DMA_MultiChannel/.settings/language.settings.xml b/workspace/12_ADC_DMA_MultiChannel/.settings/language.settings.xml
index 18902b1..2dd6b7b 100644
--- a/workspace/12_ADC_DMA_MultiChannel/.settings/language.settings.xml
+++ b/workspace/12_ADC_DMA_MultiChannel/.settings/language.settings.xml
@@ -5,7 +5,7 @@
-
+
@@ -17,7 +17,7 @@
-
+
diff --git a/workspace/12_ADC_DMA_MultiChannel/Core/Src/adc.c b/workspace/12_ADC_DMA_MultiChannel/Core/Src/adc.c
index 8acc5f3..3d2cc64 100644
--- a/workspace/12_ADC_DMA_MultiChannel/Core/Src/adc.c
+++ b/workspace/12_ADC_DMA_MultiChannel/Core/Src/adc.c
@@ -299,7 +299,6 @@ void adc_pa0pa4_dma_init(void) {
// Link adc to dma
hadc1.DMA_Handle = &hdma_adc1;
-
}
diff --git a/workspace/13_UART_DMA/.settings/language.settings.xml b/workspace/13_UART_DMA/.settings/language.settings.xml
index 18902b1..2dd6b7b 100644
--- a/workspace/13_UART_DMA/.settings/language.settings.xml
+++ b/workspace/13_UART_DMA/.settings/language.settings.xml
@@ -5,7 +5,7 @@
-
+
@@ -17,7 +17,7 @@
-
+
diff --git a/workspace/14_DMA_MemoryToMemory/.settings/language.settings.xml b/workspace/14_DMA_MemoryToMemory/.settings/language.settings.xml
index 18902b1..2dd6b7b 100644
--- a/workspace/14_DMA_MemoryToMemory/.settings/language.settings.xml
+++ b/workspace/14_DMA_MemoryToMemory/.settings/language.settings.xml
@@ -5,7 +5,7 @@
-
+
@@ -17,7 +17,7 @@
-
+
diff --git a/workspace/14_DMA_MemoryToMemory/Core/Src/main.c b/workspace/14_DMA_MemoryToMemory/Core/Src/main.c
index ac65a9b..1ae3107 100644
--- a/workspace/14_DMA_MemoryToMemory/Core/Src/main.c
+++ b/workspace/14_DMA_MemoryToMemory/Core/Src/main.c
@@ -15,25 +15,15 @@
// PA2: UART2 TX (AF7)
// PA3: UART2 RX (AF7)
-ADC_HandleTypeDef hadc1;
-
void SysTick_Handler(void) {
HAL_IncTick();
}
+ADC_HandleTypeDef hadc1;
-
-
-
-#define BUFFER_SIZE 32
-#define DMA_STREAM DMA2_Stream0
-#define DMA_STREAM_IRQ DMA2_Stream0_IRQn
-#define DMA_STREAM_IRQHANDLER DMA2_Stream0_IRQHandler
-#define DMA_CHANNEL DMA_CHANNEL_0
-
-DMA_HandleTypeDef DmaHandle;
+#define BUFFER_SIZE 32
static const uint32_t aSRC_Const_Buffer[BUFFER_SIZE] = {
0x11111111, 0x11111111, 0x11111111, 0x11111111,
@@ -48,11 +38,62 @@ static const uint32_t aSRC_Const_Buffer[BUFFER_SIZE] = {
static uint32_t aDST_Buffer[BUFFER_SIZE];
-static void TransferComplete(DMA_HandleTypeDef *DmaHandle);
-static void TransferError(DMA_HandleTypeDef *DmaHandle);
-static void dma_config(void);
+
+DMA_HandleTypeDef hdma2;
+static void TransferComplete(DMA_HandleTypeDef *hdma) {
+ // Do something
+ printf("Transfer complete!\r\n");
+}
+
+static void TransferError(DMA_HandleTypeDef *hdma) {
+ // Do something
+ printf("Transfer error!\r\n");
+}
+
+void DMA2_Stream0_IRQHandler(void) {
+ HAL_DMA_IRQHandler(&hdma2);
+}
+
+void DMA2_config(DMA_HandleTypeDef *hdma)
+{
+ if (hdma == NULL) {
+ return;
+ }
+
+ __HAL_RCC_DMA2_CLK_ENABLE();
+
+ // Clear the entire handle before configuring it
+ *hdma = (DMA_HandleTypeDef){0};
+
+ hdma->Instance = DMA2_Stream0;
+ hdma->Init.Channel = DMA_CHANNEL_0;
+ hdma->Init.Direction = DMA_MEMORY_TO_MEMORY;
+ hdma->Init.PeriphInc = DMA_PINC_ENABLE;
+ hdma->Init.MemInc = DMA_MINC_ENABLE;
+ hdma->Init.PeriphDataAlignment = DMA_PDATAALIGN_WORD;
+ hdma->Init.MemDataAlignment = DMA_MDATAALIGN_WORD;
+ hdma->Init.Mode = DMA_NORMAL;
+ hdma->Init.Priority = DMA_PRIORITY_HIGH;
+ hdma->Init.FIFOMode = DMA_FIFOMODE_ENABLE;
+ hdma->Init.FIFOThreshold = DMA_FIFO_THRESHOLD_1QUARTERFULL;
+ hdma->Init.MemBurst = DMA_MBURST_SINGLE;
+ hdma->Init.PeriphBurst = DMA_PBURST_SINGLE;
+
+ HAL_DMA_Init(hdma);
+
+ // Register callback function
+ HAL_DMA_RegisterCallback(hdma, HAL_DMA_XFER_CPLT_CB_ID,
+ TransferComplete);
+
+ HAL_DMA_RegisterCallback(hdma, HAL_DMA_XFER_ERROR_CB_ID,
+ TransferError);
+
+ HAL_NVIC_SetPriority(DMA2_Stream0_IRQn, 0, 0);
+ HAL_NVIC_EnableIRQ(DMA2_Stream0_IRQn);
+
+}
int main(void) {
@@ -63,108 +104,11 @@ int main(void) {
uart_init();
- dma_config();
+ DMA2_config(&hdma2);
+ HAL_DMA_Start_IT(&hdma2, (uint32_t)&aSRC_Const_Buffer, (uint32_t)&aDST_Buffer, BUFFER_SIZE);
while(1) {
}
}
-
-
-static void dma_config(void) {
-
- __HAL_RCC_DMA2_CLK_ENABLE();
-
- DmaHandle.Instance = DMA_STREAM;
- DmaHandle.Init.Channel = DMA_CHANNEL;
- DmaHandle.Init.Direction = DMA_MEMORY_TO_MEMORY;
- DmaHandle.Init.PeriphDataAlignment = DMA_PDATAALIGN_WORD;
- DmaHandle.Init.MemDataAlignment = DMA_MDATAALIGN_WORD;
- DmaHandle.Init.PeriphInc = DMA_PINC_ENABLE;
- DmaHandle.Init.MemInc = DMA_MINC_ENABLE;
- DmaHandle.Init.Mode = DMA_NORMAL;
- DmaHandle.Init.Priority = DMA_PRIORITY_HIGH;
- DmaHandle.Init.FIFOMode = DMA_FIFOMODE_ENABLE;
- DmaHandle.Init.FIFOThreshold = DMA_FIFO_THRESHOLD_1QUARTERFULL;
- DmaHandle.Init.MemBurst = DMA_MBURST_SINGLE;
-
- HAL_DMA_Init(&DmaHandle);
-
- // Register callback function
- HAL_DMA_RegisterCallback(&DmaHandle, HAL_DMA_XFER_CPLT_CB_ID, TransferComplete);
- HAL_DMA_RegisterCallback(&DmaHandle, HAL_DMA_XFER_ERROR_CB_ID, TransferError);
-
- HAL_NVIC_SetPriority(DMA_STREAM_IRQ, 0, 0);
- HAL_NVIC_EnableIRQ(DMA_STREAM_IRQ);
-
- HAL_DMA_Start_IT(&DmaHandle, (uint32_t)&aSRC_Const_Buffer, (uint32_t)&aDST_Buffer, BUFFER_SIZE);
-
-}
-
-
-static void TransferComplete(DMA_HandleTypeDef *DmaHandle) {
- // Do something
- printf("Transfer complete! \r\n");
-}
-
-static void TransferError(DMA_HandleTypeDef *DmaHandle) {
- // Do something
- printf("Transfer error! \r\n");
-}
-
-
-void DMA_STREAM_IRQHANDLER(void) {
- HAL_DMA_IRQHandler(&DmaHandle);
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/workspace/15_SPI_Polling/.settings/language.settings.xml b/workspace/15_SPI_Polling/.settings/language.settings.xml
index 18902b1..2dd6b7b 100644
--- a/workspace/15_SPI_Polling/.settings/language.settings.xml
+++ b/workspace/15_SPI_Polling/.settings/language.settings.xml
@@ -5,7 +5,7 @@
-
+
@@ -17,7 +17,7 @@
-
+
diff --git a/workspace/16_SPI_Interrupt/.settings/language.settings.xml b/workspace/16_SPI_Interrupt/.settings/language.settings.xml
index 18902b1..2dd6b7b 100644
--- a/workspace/16_SPI_Interrupt/.settings/language.settings.xml
+++ b/workspace/16_SPI_Interrupt/.settings/language.settings.xml
@@ -5,7 +5,7 @@
-
+
@@ -17,7 +17,7 @@
-
+
diff --git a/workspace/16_SPI_Interrupt/Core/Src/main.c b/workspace/16_SPI_Interrupt/Core/Src/main.c
index 99d8873..569be2f 100644
--- a/workspace/16_SPI_Interrupt/Core/Src/main.c
+++ b/workspace/16_SPI_Interrupt/Core/Src/main.c
@@ -35,9 +35,6 @@ void HAL_SPI_TxRxCpltCallback(SPI_HandleTypeDef *hspi) {
}
-
-
-
int main(void) {
HAL_Init();
diff --git a/workspace/17_SPI_DMA/.settings/language.settings.xml b/workspace/17_SPI_DMA/.settings/language.settings.xml
index 18902b1..2dd6b7b 100644
--- a/workspace/17_SPI_DMA/.settings/language.settings.xml
+++ b/workspace/17_SPI_DMA/.settings/language.settings.xml
@@ -5,7 +5,7 @@
-
+
@@ -17,7 +17,7 @@
-
+
diff --git a/workspace/18_I2C_ADXL345/.settings/language.settings.xml b/workspace/18_I2C_ADXL345/.settings/language.settings.xml
index 18902b1..2dd6b7b 100644
--- a/workspace/18_I2C_ADXL345/.settings/language.settings.xml
+++ b/workspace/18_I2C_ADXL345/.settings/language.settings.xml
@@ -5,7 +5,7 @@
-
+
@@ -17,7 +17,7 @@
-
+
diff --git a/workspace/19_RTC/.settings/language.settings.xml b/workspace/19_RTC/.settings/language.settings.xml
index 18902b1..2dd6b7b 100644
--- a/workspace/19_RTC/.settings/language.settings.xml
+++ b/workspace/19_RTC/.settings/language.settings.xml
@@ -5,7 +5,7 @@
-
+
@@ -17,7 +17,7 @@
-
+
diff --git a/workspace/19_RTC/Core/Src/main.c b/workspace/19_RTC/Core/Src/main.c
index 4998787..c1d5877 100644
--- a/workspace/19_RTC/Core/Src/main.c
+++ b/workspace/19_RTC/Core/Src/main.c
@@ -59,7 +59,10 @@ int main(void) {
rtc_calendar_show(time, date);
-// HAL_Delay(10);
+ printf("Time: %s\r\n", time);
+ printf("Date: %s\r\n", date);
+
+ HAL_Delay(1000);
}
diff --git a/workspace/19_RTC/Core/Src/rtc.c b/workspace/19_RTC/Core/Src/rtc.c
index 7d23128..fbab7fa 100644
--- a/workspace/19_RTC/Core/Src/rtc.c
+++ b/workspace/19_RTC/Core/Src/rtc.c
@@ -43,6 +43,8 @@ void rtc_init(void) {
}
+// Jul. 14, 2019
+// 03:00:00 AM
void rtc_calendar_config(void) {
RTC_DateTypeDef sdatestructure;
diff --git a/workspace/stm32f407_default/.settings/language.settings.xml b/workspace/stm32f407_default/.settings/language.settings.xml
index e411bca..7bc40be 100644
--- a/workspace/stm32f407_default/.settings/language.settings.xml
+++ b/workspace/stm32f407_default/.settings/language.settings.xml
@@ -5,7 +5,7 @@
-
+
@@ -16,7 +16,7 @@
-
+
diff --git a/workspace/stm32f407_template/.settings/language.settings.xml b/workspace/stm32f407_template/.settings/language.settings.xml
index 18902b1..2dd6b7b 100644
--- a/workspace/stm32f407_template/.settings/language.settings.xml
+++ b/workspace/stm32f407_template/.settings/language.settings.xml
@@ -5,7 +5,7 @@
-
+
@@ -17,7 +17,7 @@
-
+