Hi Matias,
Yes, when you do things like that
Code:
porta.0 = 1
porta.1 = 1
porta.2 = 1
porta.3 = 1
Running at high speed can cause RMW issues. What happens is that for each "bit-flip" the port is read, bit is flipped, port is being written.
Because the "limited" current capability of the output driver the voltage at the output doesn't rise instanously. So when PORTA.1=1 executes and the port is read the voltage at PORTA.0 hasn't reached a voltage above the threshold for a logic high so when the port is written back after flipping bit 1 bit 0 will be re-written as 0.
/Henrik.
Bookmarks