You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

61 lines
1.0 KiB

  1. #include <stdbool.h>
  2. #include "hal.h"
  3. typedef struct {
  4. volatile uint32_t state[4];
  5. volatile uint32_t status;
  6. } My_Mem;
  7. #define MY_MEM ((My_Mem*)(0xF0030000))
  8. void writeReadState(uint32_t * state)
  9. {
  10. for(unsigned i = 0; i < 4; i++)
  11. {
  12. MY_MEM->state[i] = state[i];
  13. }
  14. for(unsigned i = 0; i < 4; i++)
  15. {
  16. state[i] = MY_MEM->state[i];
  17. }
  18. }
  19. void printState(uint32_t * state)
  20. {
  21. printf("State:\n");
  22. for(unsigned i = 0; i<4; i++)
  23. {
  24. printf("%i\n",state[i]);
  25. }
  26. }
  27. void printStatus(uint32_t status)
  28. {
  29. printf("Status: %i\n", status);
  30. }
  31. int main(void)
  32. {
  33. printf("HELLO WORLD\n");
  34. uint32_t state[4] = {10000, 65, 4242, 85328};
  35. uint32_t status = 12;
  36. // MY_MEM->status = status;
  37. while (1)
  38. {
  39. printState(state);
  40. writeReadState(state);
  41. printState(state);
  42. // status = MY_MEM->status;
  43. // printStatus(status);
  44. for(unsigned i = 0; i < 4; i++)
  45. {
  46. state[i] = state[i]+1;
  47. }
  48. }
  49. return 0;
  50. }