I was thinking it could be inverted vs true problem too. However my assumption was found to be fault after I receive unknown characters on the screen of PC.
I also have tried similar method as suggested but the problem remains. The PIC reading is not the supposed data.