Advertisement
Guest User

Untitled

a guest
Sep 3rd, 2015
172
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.01 KB | None | 0 0
  1. // 25LC1024 1Mbit SPI interface
  2. //
  3. // Device pin connections:
  4. // 1 = CS (Chip Select) (from Arduino)
  5. // 2 = SO (Master In Slave Out) (from Arduino)
  6. // 3 = +5V (WP) (from Arduino)
  7. // 4 = 0V (Ground) (from Arduino)
  8. // 5 = SI (Master Out Slave In) (from Arduino)
  9. // 6 = SCK (from Arduino)
  10. // 7 = +5V HOLD (from Arduino)
  11. // 8 = +5V Vcc (from Arduino)
  12. //
  13. // This file uses the SPI library and produces higher oscillation rates than the manual methods
  14. // for the Uno: SS/CS = pin 10, MOSI/SI = pin 11, SCK/clock = pin 13, MISO/SO = pin = 12
  15. //
  16.  
  17. #define WRITE 2
  18. #define READ 3
  19. #define WREN 6
  20.  
  21. #include <SPI.h>
  22.  
  23. unsigned int data;
  24. unsigned int address = 0;
  25. unsigned int outval = 44;
  26. byte invalue;
  27.  
  28. void setup()
  29. {
  30. Serial.begin(9600);
  31. Serial.println("--------------");
  32. Serial.println(SS); // chip select
  33. Serial.println(MOSI); // master out, slave in
  34. Serial.println(MISO); // master in, slave out
  35. Serial.println(SCK); // clock
  36. Serial.println("--------------");
  37.  
  38. // set up to match device datasheet
  39. SPI.setBitOrder(MSBFIRST);
  40. SPI.setDataMode(SPI_MODE0);
  41. SPI.setClockDivider(SPI_CLOCK_DIV2); // max clock is 20MHz, so can set high speed
  42. SPI.begin(); // sets up pin modes etc.
  43.  
  44. // Enable writing
  45. digitalWrite(SS, LOW);
  46. SPI.transfer(WREN);
  47. digitalWrite(SS, HIGH);
  48.  
  49. // Write One Value to One Address
  50. digitalWrite(SS, LOW);
  51. SPI.transfer(WRITE); // write instruction
  52. SPI.transfer((address >> 16) & 255);
  53. SPI.transfer((address >> 8) & 255);
  54. SPI.transfer(address & 255);
  55. SPI.transfer(outval);
  56. digitalWrite(SS, HIGH);
  57.  
  58. delay(1000);
  59.  
  60. // Read One Value from One Address
  61. digitalWrite(SS, LOW);
  62. SPI.transfer(READ); // read instruction
  63. SPI.transfer((address >> 16) & 255);
  64. SPI.transfer((address >> 8) & 255);
  65. SPI.transfer(address & 255); // 3rd byte of address
  66. invalue = SPI.transfer(0); // Clock out the data
  67. Serial.print("Read Data = ");
  68. Serial.println(invalue,DEC);
  69.  
  70. digitalWrite(SS, HIGH);
  71. }
  72.  
  73. void loop()
  74. {
  75.  
  76. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement