Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ESP32-S3 issue on SPI pins #10353

Open
1 task done
Nezaemmy opened this issue Sep 17, 2024 · 0 comments
Open
1 task done

ESP32-S3 issue on SPI pins #10353

Nezaemmy opened this issue Sep 17, 2024 · 0 comments
Labels
Status: Awaiting triage Issue is waiting for triage

Comments

@Nezaemmy
Copy link

Nezaemmy commented Sep 17, 2024

Board

ESP32-S3 DevKitC-1

Device Description

DevKitC

Hardware Configuration

gpio 10,11and 12 are connected to the 3 chained 74hc595 shift register

Version

v3.0.4

IDE Name

Arduino IDE

Operating System

Windows 11

Flash frequency

80Mhz

PSRAM enabled

no

Upload speed

921600

Description

I have been using the 3 chained 74hc595 shift register with ESP32; the system has been working for more than one year.
After switching to ESP32-S3, the system works for 2 to 3 days. The 74HC595 shift register starts misbehaving (for example, if you want to switch on pin 5 of the second chained shift register, pin 3 of the first shift register, and pin 6 of the shift register ON things like that), and with replacing the damaged one, the system works after the same time the issue comes again. The ESP32 doesn't have this issue with 74hc595.

Sketch

#include <ShiftRegister74HC595.h> //https://github.com/Simsso/ShiftRegister74HC595

// create a global shift register object
// parameters: <number of shift registers> (data pin, clock pin, latch pin)
ShiftRegister74HC595<1> sr(11, 10, 12);
 
void setup() { 
}

void loop() {

  // setting all pins at the same time to either HIGH or LOW
  sr.setAllHigh(); // set all pins HIGH
  delay(500);
  
  sr.setAllLow(); // set all pins LOW
  delay(500); 
  

  // setting single pins
  for (int i = 0; i < 8; i++) {
    
    sr.set(i, HIGH); // set single pin HIGH
    delay(250); 
  }
  
  
  // set all pins at once
  uint8_t pinValues[] = { B10101010 }; 
  sr.setAll(pinValues); 
  delay(1000);

  
  // read pin (zero based, i.e. 6th pin)
  uint8_t stateOfPin5 = sr.get(5);
  sr.set(6, stateOfPin5);


  // set pins without immediate update
  sr.setNoUpdate(0, HIGH);
  sr.setNoUpdate(1, LOW);
  // at this point of time, pin 0 and 1 did not change yet
  sr.updateRegisters(); // update the pins to the set values
}

Debug Message

NA

Other Steps to Reproduce

No response

I have checked existing issues, online documentation and the Troubleshooting Guide

  • I confirm I have checked existing issues, online documentation and Troubleshooting guide.
@Nezaemmy Nezaemmy added the Status: Awaiting triage Issue is waiting for triage label Sep 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Status: Awaiting triage Issue is waiting for triage
Projects
None yet
Development

No branches or pull requests

1 participant