bperrybap:
If you use multiple LCDs and do not specify addresses, there is no guarantee as to the address order they will be assigned since C++ makes not guarantees as to how constructors are called. However, form what I've seen they are called in the order they are declared.
The hd44780 library looks for backpacks from low address to high, so normally the library will assign the addresses to backpacks from lowest address to highest address in the order they are declared.
The addresses do not need to be sequential. i.e. it could be 0x20 and 0x22
But I assume one would still need to make sure the two LCDs do not have the same physical address; ie bridge the A0 jumper on the BackPack. I think most of these we find will have all the address jumpers open.
Correct?
Greg