UC GEE
UC GEE
DIIDevHeads IoT Integration Server
Created by Sterling on 9/11/2024 in #firmware-and-baremetal
RTC Date and Time Display Issues on Tera Term with Format and Pointer Errors
Hey @Sterling In C in your project, you cannot initialize structure members directly within the structure definition. Instead, you should define the structure and then create an instance of it. Another error that's occurring in your project,You're trying to use a pointer to a uint8_t to point to a structure (Date_struct) . This error is causing the warnings about incompatible pointer types. Here’s a corrected version of your code that addresses the above issues:
#include "main.h"
#include "stdio.h"

// Define a structure for the date
typedef struct
{
uint8_t Month;
uint8_t Date;
uint8_t Year;
} Date_struct;

int main(void)
{
// Initialize the RTC handle (assuming it is defined elsewhere)
RTC_HandleTypeDef hrtc;

// Create an instance of Date_struct
Date_struct date = {0x03, 0x24, 0x21}; // March 24, 2021

// Set the date in RTC
HAL_RTC_SetDate(&hrtc, (RTC_DateTypeDef*)&date, RTC_FORMAT_BCD);

while (1)
{
// Get the date from RTC
HAL_RTC_GetDate(&hrtc, (RTC_DateTypeDef*)&date, RTC_FORMAT_BCD);

// Here you can print the date using Tera Term or any other method
// Example: printf("Date: %02d/%02d/%02d\n", date.Date, date.Month, date.Year);

HAL_Delay(1000);
}
}
#include "main.h"
#include "stdio.h"

// Define a structure for the date
typedef struct
{
uint8_t Month;
uint8_t Date;
uint8_t Year;
} Date_struct;

int main(void)
{
// Initialize the RTC handle (assuming it is defined elsewhere)
RTC_HandleTypeDef hrtc;

// Create an instance of Date_struct
Date_struct date = {0x03, 0x24, 0x21}; // March 24, 2021

// Set the date in RTC
HAL_RTC_SetDate(&hrtc, (RTC_DateTypeDef*)&date, RTC_FORMAT_BCD);

while (1)
{
// Get the date from RTC
HAL_RTC_GetDate(&hrtc, (RTC_DateTypeDef*)&date, RTC_FORMAT_BCD);

// Here you can print the date using Tera Term or any other method
// Example: printf("Date: %02d/%02d/%02d\n", date.Date, date.Month, date.Year);

HAL_Delay(1000);
}
}
3 replies