Fix #18 - addressing bug with 74LS595 shift registers

This commit is contained in:
Tom Nisbet 2020-10-12 18:41:12 -04:00
parent ba77cc336b
commit cb71caca4b
3 changed files with 3 additions and 8 deletions

View File

@ -396,6 +396,7 @@ static void commandLoop()
case 's': case 's':
if ((arg = getHex32(cursor, noValue)) != noValue) if ((arg = getHex32(cursor, noValue)) != noValue)
{ {
Serial.println();
dumpBlock(arg, arg + 63); dumpBlock(arg, arg + 63);
} }
else else

View File

@ -10,12 +10,6 @@
//#define PROM_IS_27 //#define PROM_IS_27
//#define PROM_IS_8755A //#define PROM_IS_8755A
// Uncomment the line below to use 74LS595 shift registers instead of the 74LS164s shown
// in the schematics. This enables extra code in PromAddressDriver.cpp to control the
// RCLK line that latches the data to the output pins.
// #define SHIFT_REGISTER_IS_595
// Don't change anything below this comment unless you are adding support for a new device type. // Don't change anything below this comment unless you are adding support for a new device type.
#if defined(PROM_IS_28C) #if defined(PROM_IS_28C)
#include "PromDevice28C.h" #include "PromDevice28C.h"

View File

@ -112,11 +112,11 @@ void PromAddressDriver::setAddressRegister(uint8_t clkPin, byte addr)
addr <<= 1; addr <<= 1;
} }
#ifdef SHIFT_REGISTER_IS_595 // Toggle the RCLK pin to output the data for 74LS595 shift registers. This pin is
// not connected when using 74LS164 shift registers.
PORTB &= ~RCLK_595_MASK; PORTB &= ~RCLK_595_MASK;
delayMicroseconds(1); delayMicroseconds(1);
PORTB |= RCLK_595_MASK; PORTB |= RCLK_595_MASK;
delayMicroseconds(1); delayMicroseconds(1);
PORTB &= ~RCLK_595_MASK; PORTB &= ~RCLK_595_MASK;
#endif
} }