I have used the GT32/GT60 MCUs quite a bit and I am having a problem getting some code of mine to work properly on a GT16A. I have six LEDs connected through a resistor array to the GT16A at pins 2 through 7 (PTC0 through PTE1). In my code, I set the direction to output for all of these pins and then I set the individual pins high or low throughout the rest of my code. The problem is that the PTC0, PTC1, and PTC2 pins do not reflect the values I set from my code. But PTC3, PTE0, and PTE1 all work as expected.
For example, here is some of my code:
void TurnOnAllLights( void ){
/* turn on all of the lights */
PTCD_PTCD0=0; // does not work
PTCD_PTCD1=0; // does not work
PTCD_PTCD2=0; // does not work
PTCD_PTCD3=0; // LED works
PTED_PTED0=0; // LED works
PTED_PTED1=0; // LED works
}
It acts like a serial module is grabbing the pins, but I am not using any serial ports in my code. I even added code to explicitly disable TX and RX for the serial ports, but that did not help.
I have looked through my schematic and my code, and I just do not see any reason that I would not be able to get the PTC0, PTC1, and PTC2 pins into GPIO output mode. I have never had this problem with the GT32/GT60, and this is my first time using the GT16A. Is there something obvious that I may have overlooked? Maybe something specific to the GT16A?