diff --git a/Library/StdDriver/src/retarget.c b/Library/StdDriver/src/retarget.c index 0dbdc7aa..ada8d630 100644 --- a/Library/StdDriver/src/retarget.c +++ b/Library/StdDriver/src/retarget.c @@ -9,6 +9,7 @@ #include +#include #include "NuMicro.h" #if defined ( __CC_ARM ) @@ -58,14 +59,14 @@ enum { r0, r1, r2, r3, r12, lr, pc, psr}; */ static void stackDump(uint32_t stack[]) { - printf("r0 = 0x%x\n", stack[r0]); - printf("r1 = 0x%x\n", stack[r1]); - printf("r2 = 0x%x\n", stack[r2]); - printf("r3 = 0x%x\n", stack[r3]); - printf("r12 = 0x%x\n", stack[r12]); - printf("lr = 0x%x\n", stack[lr]); - printf("pc = 0x%x\n", stack[pc]); - printf("psr = 0x%x\n", stack[psr]); + printf("r0 = 0x%" PRIx32 "\n", stack[r0]); + printf("r1 = 0x%" PRIx32 "\n", stack[r1]); + printf("r2 = 0x%" PRIx32 "\n", stack[r2]); + printf("r3 = 0x%" PRIx32 "\n", stack[r3]); + printf("r12 = 0x%" PRIx32 "\n", stack[r12]); + printf("lr = 0x%" PRIx32 "\n", stack[lr]); + printf("pc = 0x%" PRIx32 "\n", stack[pc]); + printf("psr = 0x%" PRIx32 "\n", stack[psr]); } /** @@ -328,7 +329,7 @@ SH_End /* Make sure won't goes here only because --gnu is defined , so add !__CC_ARM and !__ICCARM__ checking */ -# if defined ( __GNUC__ ) && !(__CC_ARM) && !(__ICCARM__) +# if defined ( __GNUC__ ) && !(__CC_ARM) && !(__ICCARM__) /** * @brief This HardFault handler is implemented to show r0, r1, r2, r3, r12, lr, pc, psr @@ -351,7 +352,7 @@ void HardFault_Handler(void) "B Hard_Fault_Handler \n" "1: \n" "MRS R0, MSP \n" /*; LR current value */ - "B Hard_Fault_Handler \n" + "B Hard_Fault_Handler \n" ::[Hard_Fault_Handler] "r" (Hard_Fault_Handler) // input ); while(1); diff --git a/Library/StdDriver/src/rtc.c b/Library/StdDriver/src/rtc.c index eb73daef..acc962bb 100644 --- a/Library/StdDriver/src/rtc.c +++ b/Library/StdDriver/src/rtc.c @@ -372,61 +372,59 @@ void RTC_SetDateAndTime(S_RTC_TIME_DATA_T *sPt) { uint32_t u32RegCAL, u32RegTIME; - if(sPt == 0ul) + if(sPt == NULL) { + return; } - else + /*-----------------------------------------------------------------------------------------------------*/ + /* Set RTC 24/12 hour setting and Day of the Week */ + /*-----------------------------------------------------------------------------------------------------*/ + RTC_WaitAccessEnable(); + if(sPt->u32TimeScale == RTC_CLOCK_12) { - /*-----------------------------------------------------------------------------------------------------*/ - /* Set RTC 24/12 hour setting and Day of the Week */ - /*-----------------------------------------------------------------------------------------------------*/ - RTC_WaitAccessEnable(); - if(sPt->u32TimeScale == RTC_CLOCK_12) - { - RTC->CLKFMT &= ~RTC_CLKFMT_24HEN_Msk; + RTC->CLKFMT &= ~RTC_CLKFMT_24HEN_Msk; - /*-------------------------------------------------------------------------------------------------*/ - /* Important, range of 12-hour PM mode is 21 up to 32 */ - /*-------------------------------------------------------------------------------------------------*/ - if(sPt->u32AmPm == RTC_PM) - { - sPt->u32Hour += 20ul; - } - } - else + /*-------------------------------------------------------------------------------------------------*/ + /* Important, range of 12-hour PM mode is 21 up to 32 */ + /*-------------------------------------------------------------------------------------------------*/ + if(sPt->u32AmPm == RTC_PM) { - RTC->CLKFMT |= RTC_CLKFMT_24HEN_Msk; + sPt->u32Hour += 20ul; } + } + else + { + RTC->CLKFMT |= RTC_CLKFMT_24HEN_Msk; + } - /* Set Day of the Week */ - RTC_WaitAccessEnable(); - RTC->WEEKDAY = sPt->u32DayOfWeek; + /* Set Day of the Week */ + RTC_WaitAccessEnable(); + RTC->WEEKDAY = sPt->u32DayOfWeek; - /*-----------------------------------------------------------------------------------------------------*/ - /* Set RTC Current Date and Time */ - /*-----------------------------------------------------------------------------------------------------*/ - u32RegCAL = ((sPt->u32Year - RTC_YEAR2000) / 10ul) << 20; - u32RegCAL |= (((sPt->u32Year - RTC_YEAR2000) % 10ul) << 16); - u32RegCAL |= ((sPt->u32Month / 10ul) << 12); - u32RegCAL |= ((sPt->u32Month % 10ul) << 8); - u32RegCAL |= ((sPt->u32Day / 10ul) << 4); - u32RegCAL |= (sPt->u32Day % 10ul); - - u32RegTIME = ((sPt->u32Hour / 10ul) << 20); - u32RegTIME |= ((sPt->u32Hour % 10ul) << 16); - u32RegTIME |= ((sPt->u32Minute / 10ul) << 12); - u32RegTIME |= ((sPt->u32Minute % 10ul) << 8); - u32RegTIME |= ((sPt->u32Second / 10ul) << 4); - u32RegTIME |= (sPt->u32Second % 10ul); + /*-----------------------------------------------------------------------------------------------------*/ + /* Set RTC Current Date and Time */ + /*-----------------------------------------------------------------------------------------------------*/ + u32RegCAL = ((sPt->u32Year - RTC_YEAR2000) / 10ul) << 20; + u32RegCAL |= (((sPt->u32Year - RTC_YEAR2000) % 10ul) << 16); + u32RegCAL |= ((sPt->u32Month / 10ul) << 12); + u32RegCAL |= ((sPt->u32Month % 10ul) << 8); + u32RegCAL |= ((sPt->u32Day / 10ul) << 4); + u32RegCAL |= (sPt->u32Day % 10ul); + + u32RegTIME = ((sPt->u32Hour / 10ul) << 20); + u32RegTIME |= ((sPt->u32Hour % 10ul) << 16); + u32RegTIME |= ((sPt->u32Minute / 10ul) << 12); + u32RegTIME |= ((sPt->u32Minute % 10ul) << 8); + u32RegTIME |= ((sPt->u32Second / 10ul) << 4); + u32RegTIME |= (sPt->u32Second % 10ul); - /*-----------------------------------------------------------------------------------------------------*/ - /* Set RTC Calender and Time Loading */ - /*-----------------------------------------------------------------------------------------------------*/ - RTC_WaitAccessEnable(); - RTC->CAL = (uint32_t)u32RegCAL; - RTC_WaitAccessEnable(); - RTC->TIME = (uint32_t)u32RegTIME; - } + /*-----------------------------------------------------------------------------------------------------*/ + /* Set RTC Calender and Time Loading */ + /*-----------------------------------------------------------------------------------------------------*/ + RTC_WaitAccessEnable(); + RTC->CAL = (uint32_t)u32RegCAL; + RTC_WaitAccessEnable(); + RTC->TIME = (uint32_t)u32RegTIME; } /**