Guest User

Untitled

a guest
Jan 20th, 2019
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.32 KB | None | 0 0
  1. #include <SPI.h>
  2. #include <SD.h>
  3.  
  4. File myFile;
  5.  
  6. struct s1 {
  7. uint16_t v16;
  8. uint32_t v32;
  9. };
  10. s1 structvar;
  11.  
  12. struct s2 {
  13. uint16_t v16_1;
  14. uint16_t v16_2;
  15. uint16_t v16_3;
  16. };
  17. s2 structvar2;
  18.  
  19. uint16_t v16;
  20. uint32_t v32;
  21.  
  22. void setup() {
  23. Serial.begin(9600);
  24.  
  25. Serial.print("Initializing SD card...");
  26.  
  27. if (!SD.begin(4)) {
  28. Serial.println("initialization failed!");
  29. return;
  30. }
  31. Serial.println("initialization done.");
  32.  
  33. myFile = SD.open("IMAGE001.BMP", FILE_READ);
  34. if (myFile) {
  35. Serial.println("Struct1");
  36. myFile.read(&structvar,6);
  37. Serial.println(structvar.v16);
  38. Serial.println(structvar.v32);
  39.  
  40. myFile.seek(0);
  41. Serial.println("Struct2");
  42. myFile.read(&structvar2,6);
  43. Serial.println(structvar2.v16_1);
  44. Serial.println(structvar2.v16_2);
  45. Serial.println(structvar2.v16_3);
  46.  
  47. myFile.seek(0);
  48. Serial.println("Separate vars");
  49. myFile.read(&v16,2);
  50. myFile.read(&v32,4);
  51. Serial.println(v16);
  52. Serial.println(v32);
  53.  
  54. myFile.close();
  55. }
  56. }
  57.  
  58. void loop() {
  59. // nothing happens after setup finishes.
  60. delay(100);
  61. }
  62.  
  63. Struct1
  64. 19778 //0x4d42
  65. 1 //0x00000001 - Lower half only
  66. 4 //4 Bytes - correct size.
  67.  
  68. Struct2
  69. 19778 //0x4d42
  70. 58934 //0xe636 - Upper Half
  71. 1 //0x0001 - Lower Half
  72.  
  73. Separate vars
  74. 19778 //0x4d42
  75. 124470 //0x0001e636 - Correct
Add Comment
Please, Sign In to add comment