You are reading a single comment by @Gordon and its replies. Click here to read the full conversation.
  • Personally I'd say you probably want to put a logic analyser on it and compare with a board that does it properly.

    The OneWire library itself should be pretty good now (i mean, it's worked fine on pretty much every architecture) and the only external things it uses are:

    • out_opendrain_pullup
    • the delay function
    • disabling IRQs

    You found the first two, so if they work fine then about the only thing it could be is IRQs jumping in and causing problems.

    Of course if it's like the ESP8266 then it actually 'caches' flash data in RAM and executes from that. If the OneWire + GPIO + delay code isn't in the correct section, it may end up having to be loaded on demand, which would mess up the timings.


Avatar for Gordon @Gordon started