- #include <stdbool.h>
- #include "hal.h"
-
- typedef struct {
- volatile uint32_t state[4];
- volatile uint32_t status;
- } My_Mem;
-
- #define MY_MEM ((My_Mem*)(0xF0030000))
-
- void writeReadState(uint32_t * state)
- {
- for(unsigned i = 0; i < 4; i++)
- {
- MY_MEM->state[i] = state[i];
- }
- for(unsigned i = 0; i < 4; i++)
- {
- state[i] = MY_MEM->state[i];
- }
- }
-
- void printState(uint32_t * state)
- {
- printf("State:\n");
- for(unsigned i = 0; i<4; i++)
- {
- printf("%i\n",state[i]);
- }
- }
-
- void printStatus(uint32_t status)
- {
- printf("Status: %i\n", status);
- }
-
- int main(void)
- {
- printf("HELLO WORLD\n");
-
- uint32_t state[4] = {10000, 65, 4242, 85328};
- uint32_t status = 12;
- // MY_MEM->status = status;
-
- while (1)
- {
- printState(state);
- writeReadState(state);
- printState(state);
-
- // status = MY_MEM->status;
- // printStatus(status);
-
- for(unsigned i = 0; i < 4; i++)
- {
- state[i] = state[i]+1;
- }
-
- }
- return 0;
- }
|