大概是PORTB是直接读出上次写入portb里的值,portb.xbit是读到当前IO实际状态吧。
以前看过有些MCU有这样的操作要求。
LATX是输出锁存,就是说它保存你要输出的东西。只有在你把端口设置为输出的时候,它才与端口的状态一致。
显然楼主的应用几个端口是作为输入的,这种情况下无论如何必须读PORT。
把端口作为输出用,则LAT与PORT没有区别,写PORT实际是写LAT,然后LAT的值决定输出的值。