IDR represents the level on pin input while ODR is the value requested by the programmer. This makes a difference for example when using the output as open drain.
IDR represents the level on pin input while ODR is the value requested by the programmer. This makes a difference for example when using the output as open drain.