Guest User

Arduino Code

a guest
Nov 26th, 2022
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.78 KB | None | 0 0
  1. #include <SPI.h>
  2.  
  3. // set pin 7 as the slave select for the digital pot:
  4. const int CS = 7;
  5.  
  6. void write_reg(uint16_t addr, uint16_t data) {
  7.     digitalWrite(CS, LOW);
  8.     addr = addr | 0x80;
  9.     SPI.transfer(addr);
  10.     SPI.transfer(data);
  11.     digitalWrite(CS, HIGH);
  12. }
  13.  
  14. void read_reg(uint16_t addr, uint8_t *rx_data) {
  15.     digitalWrite(CS, LOW);
  16.     addr = addr & 0x7F;
  17.     SPI.transfer(addr);
  18.     *rx_data = SPI.transfer(rx_data);
  19.     digitalWrite(CS, HIGH);
  20. }
  21.  
  22. void setup() {
  23.   Serial.begin(115200);
  24.   pinMode(CS, OUTPUT);
  25.   digitalWrite(CS, HIGH);
  26.   // initialize SPI:
  27.   SPI.begin();
  28. }
  29.  
  30. void loop() {
  31.   static int i = 0;
  32.   uint8_t temp;
  33.   write_reg(0x00, i);
  34.   read_reg(0x00, &temp);
  35.   Serial.println(temp);
  36.   delay(250);
  37.  
  38.   if(++i > 5){
  39.     i = 0;
  40.   }
  41. }
Advertisement
Add Comment
Please, Sign In to add comment