Невозможно обновить значение указателя
То есть, вы не можете обновить указанное значение
Выполнение
volatile uint32_t *myAddress = (volatile uint32_t*)0x12341234;
uint32_t timestamp = 0x1111;
*myAddress = timestamp;
, которое вы используете(очень вероятно) недопустимый адрес 0x12341234
, из-за чего он имеет неопределенное поведение
Сделайте что-то подобное:
uint32_t v;
volatile uint32_t *myAddress = &v;
uint32_t timestamp = 0x1111;
*myAddress = timestamp;
// now v values 0x1111
Пример:
#include <stdio.h>
#include <stdint.h>
int main()
{
uint32_t v = 0;
volatile uint32_t *myAddress = &v;
uint32_t timestamp = 0x1111;
*myAddress = timestamp; // now v values 0x1111
printf("0x%x 0x%x\n", (unsigned) v, (unsigned) *myAddress);
return 0;
}
Компиляция и исполнение:
pi@raspberrypi:/tmp $ gcc -pedantic -Wextra -Wall c.c
pi@raspberrypi:/tmp $ ./a.out
0x1111 0x1111
pi@raspberrypi:/tmp $