stabilize comms timing
This commit is contained in:
parent
777a56d131
commit
aa14035c94
|
@ -69,16 +69,20 @@ int8_t HSreadWord(uint8_t devAddr, uint8_t regAddr, uint16_t *data)
|
||||||
temp = ((regAddr & (0x80 >> i)) != 0);
|
temp = ((regAddr & (0x80 >> i)) != 0);
|
||||||
digitalWrite(clk_pin, 0); //PORTC &= ~(1<<5); //
|
digitalWrite(clk_pin, 0); //PORTC &= ~(1<<5); //
|
||||||
digitalWrite(dat_pin, temp);
|
digitalWrite(dat_pin, temp);
|
||||||
|
HSdelayMicroseconds(1);
|
||||||
digitalWrite(clk_pin, 1); //PORTC |= (1<<5); //
|
digitalWrite(clk_pin, 1); //PORTC |= (1<<5); //
|
||||||
|
HSdelayMicroseconds(1);
|
||||||
}
|
}
|
||||||
// change direction of dat_pin
|
// change direction of dat_pin
|
||||||
pinMode(dat_pin, INPUT); // DDRC &= ~(1<<4); //
|
pinMode(dat_pin, INPUT); // DDRC &= ~(1<<4); //
|
||||||
for (int i = 15; i >= 0; i--) {
|
for (int i = 15; i >= 0; i--) {
|
||||||
digitalWrite(clk_pin, 0); //PORTC &= ~(1<<5); //
|
digitalWrite(clk_pin, 0); //PORTC &= ~(1<<5); //
|
||||||
|
HSdelayMicroseconds(1);
|
||||||
digitalWrite(clk_pin, 1); //PORTC |= (1<<5); //
|
digitalWrite(clk_pin, 1); //PORTC |= (1<<5); //
|
||||||
temp_dat = digitalRead(dat_pin); //((PINC & (1<<4)) != 0);
|
temp_dat = digitalRead(dat_pin); //((PINC & (1<<4)) != 0);
|
||||||
temp_dat = temp_dat << i;
|
temp_dat = temp_dat << i;
|
||||||
*data |= temp_dat;
|
*data |= temp_dat;
|
||||||
|
HSdelayMicroseconds(1);
|
||||||
}
|
}
|
||||||
digitalWrite(devAddr, 1); //PORTC |= (1<<1);// CS
|
digitalWrite(devAddr, 1); //PORTC |= (1<<1);// CS
|
||||||
|
|
||||||
|
@ -127,13 +131,17 @@ bool HSwriteWord(uint8_t devAddr, uint8_t regAddr, uint16_t data)
|
||||||
temp_reg = ((regAddr & (0x80 >> i)) != 0);
|
temp_reg = ((regAddr & (0x80 >> i)) != 0);
|
||||||
digitalWrite(clk_pin, 0); //PORTC &= ~(1<<5); //
|
digitalWrite(clk_pin, 0); //PORTC &= ~(1<<5); //
|
||||||
digitalWrite(dat_pin, regAddr & (0x80 >> i));
|
digitalWrite(dat_pin, regAddr & (0x80 >> i));
|
||||||
|
HSdelayMicroseconds(1);
|
||||||
digitalWrite(clk_pin, 1); // PORTC |= (1<<5); //
|
digitalWrite(clk_pin, 1); // PORTC |= (1<<5); //
|
||||||
|
HSdelayMicroseconds(1);
|
||||||
}
|
}
|
||||||
for (int i = 0; i < 16; i++) {
|
for (int i = 0; i < 16; i++) {
|
||||||
temp_dat = ((data & (0x8000 >> i)) != 0);
|
temp_dat = ((data & (0x8000 >> i)) != 0);
|
||||||
digitalWrite(clk_pin, 0); //PORTC &= ~(1<<5); //
|
digitalWrite(clk_pin, 0); //PORTC &= ~(1<<5); //
|
||||||
digitalWrite(dat_pin, temp_dat);
|
digitalWrite(dat_pin, temp_dat);
|
||||||
|
HSdelayMicroseconds(1);
|
||||||
digitalWrite(clk_pin, 1); // PORTC |= (1<<5); //
|
digitalWrite(clk_pin, 1); // PORTC |= (1<<5); //
|
||||||
|
HSdelayMicroseconds(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
digitalWrite(devAddr, 1); //PORTC |= (1<<1); //CS
|
digitalWrite(devAddr, 1); //PORTC |= (1<<1); //CS
|
||||||
|
|
Loading…
Reference in New Issue