01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
| #include <SPI.h>
unsigned char elscode[24] = {
0x30, 0x30, 0x30, 0x18, 0x18, 0x18,
0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0,
0x01, 0xc0, 0x81, 0x07, 0xe6, 0x81,
0x0f, 0x42, 0x21, 0x0f, 0x02, 0x71
};
unsigned char cleancode[4] = {0x00, 0x00, 0x00, 0x00};
unsigned char buf[4] = {0x25, 0xFF, 0x7F, 0xF0};
const int slaveSelectPin = 10;
void setup() {
pinMode (slaveSelectPin, OUTPUT);
SPI.begin();
digitalWrite(slaveSelectPin, LOW);
SPI.transfer(cleancode[0]);
SPI.transfer(cleancode[1]);
SPI.transfer(cleancode[2]);
SPI.transfer(cleancode[3]);
digitalWrite(slaveSelectPin, HIGH);
delay(1000);
}
void loop() {
int k=0;
int i;
for(i=1;i<256;i*=2)
{
digitalWrite(slaveSelectPin, LOW);
SPI.transfer((byte)i);
SPI.transfer((byte)(0xff-elscode[k+2]));
SPI.transfer((byte)0xff);
SPI.transfer((byte)0xff);
digitalWrite(slaveSelectPin, HIGH);
digitalWrite(slaveSelectPin, LOW);
SPI.transfer((byte)i);
SPI.transfer((byte)0xff);
SPI.transfer((byte)(0xff-elscode[k+1]));
SPI.transfer((byte)(0xff-elscode[k+0]));
digitalWrite(slaveSelectPin, HIGH);
k+=3;
}
}
|