🤖Have you ever tried Chat.M5Stack.com before asking??😎
    M5Stack Community
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    GPIO32 of M5core2 is always HIGH and cannot be used as input.

    Core 2
    2
    2
    2.0k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • R
      rin9147
      last edited by rin9147

      GPIO32 of M5core2 is always HIGH and cannot be used as input.

      I want to use MBUS's G32 as input(digitalRead) instead of I2C.
      If I actually do this, it will always be HIGH.

      I thought it was strange, so I checked the status of the G32 with a multitester, and found that 3.3V is always output from the G32.

      M5.begin is set up as follows, and the fourth I2CEnable is false.

      M5.begin(true, true, true, false, kMBusModeInput);

      Also, there is an EXT.I2C PULLUP in the lower right corner of the schematic, do I have to remove this pullup resistor to use it as input? Or is there a way to use it as input in software?

      If anyone knows, please let me know.

      1 Reply Last reply Reply Quote 0
      • felmueF
        felmue
        last edited by

        Hello @rin9147

        no, you can but you don't need to remove the pullup resistor. If you read GPIO32 like this it will report HIGH and when you connect GPIO32 to GND with a wire is should read LOW. Use below code to set GPIO32 as input and do something when it is read LOW.

        pinMode(32, INPUT);
        if(digitalRead(32) == LOW) ...
        

        Thanks
        Felix

        GPIO translation table M5Stack / M5Core2
        Information about various M5Stack products.
        Code examples

        1 Reply Last reply Reply Quote 1
        • First post
          Last post