Give this a try...
Code:
typedef struct {
uint16_t year;
uint16_t month;
uint16_t day;
}DATE;
Code:
int main(void)
{
DATE tx = {1976, 03, 27};
DATE *txPtr = {0};
DATE *rxPtr = {0};
uint16_t rx_buffer[100] = {1974, 02, 25};
uint16_t checksum1 = 0;
uint16_t checksum2 = 0;
uint16_t test[3] = {0};
txPtr = &tx; // this will get filled with date information at some point
rxPtr = (DATE *)rx_buffer; // rx buffer contains a date
memcpy(test, txPtr, sizeof DATE);
checksum1 = checksum_f(test, sizeof test);
memset(test, 0, sizeof test);
memcpy(test, rxPtr, sizeof DATE);
checksum2 = checksum_f(test, sizeof test);
return 0;
}