softspim: allow phase mode 2 (safe phase)

This commit is contained in:
2022-03-15 22:41:06 +01:00
parent 50d233fdf7
commit 36cc688479
2 changed files with 5 additions and 5 deletions

View File

@ -17,19 +17,19 @@ uint8_t SpiMaster::readWrite(uint8_t in)
writePin(_port, _pinOut, in & (1 << i)); writePin(_port, _pinOut, in & (1 << i));
else else
writePin(_port, _pinOut, in & (1 << (7-i))); writePin(_port, _pinOut, in & (1 << (7-i)));
if constexpr (CLOCK_PHASE == 0) if constexpr (CLOCK_PHASE == 0 || CLOCK_PHASE == 2)
_delay_us(DELAY_TIME_US); _delay_us(DELAY_TIME_US);
writePin(_port, _pinClock, !CLOCK_POLARITY); writePin(_port, _pinClock, !CLOCK_POLARITY);
if constexpr (CLOCK_PHASE == 1) if constexpr (CLOCK_PHASE == 1 || CLOCK_PHASE == 2)
_delay_us(DELAY_TIME_US); _delay_us(DELAY_TIME_US);
if constexpr (BIT_ORDER == 0) if constexpr (BIT_ORDER == 0)
recByte |= readPin(_pinReg, _pinIn) << i; recByte |= readPin(_pinReg, _pinIn) << i;
else else
recByte |= readPin(_pinReg, _pinIn) << (7-i); recByte |= readPin(_pinReg, _pinIn) << (7-i);
if constexpr (CLOCK_PHASE == 0) if constexpr (CLOCK_PHASE == 0 || CLOCK_PHASE == 2)
_delay_us(DELAY_TIME_US); _delay_us(DELAY_TIME_US);
writePin(_port, _pinClock, CLOCK_POLARITY); writePin(_port, _pinClock, CLOCK_POLARITY);
if constexpr (CLOCK_PHASE == 1) if constexpr (CLOCK_PHASE == 1 || CLOCK_PHASE == 2)
_delay_us(DELAY_TIME_US); _delay_us(DELAY_TIME_US);
} }
return recByte; return recByte;

View File

@ -7,7 +7,7 @@ class SpiMaster
private: private:
static constexpr uint8_t CLOCK_POLARITY = 0; static constexpr uint8_t CLOCK_POLARITY = 0;
static constexpr uint8_t CLOCK_PHASE = 0; static constexpr uint8_t CLOCK_PHASE = 2;
static constexpr uint8_t BIT_ORDER = 1; static constexpr uint8_t BIT_ORDER = 1;
volatile uint8_t * const _port = &PORTB; volatile uint8_t * const _port = &PORTB;