Hello, I am having some big issues with a system using an MSP430. First, I am using some normally-open push buttons, where the GPIO port is configured as pull-up input. Usually it works okay, but sometimes after power-up the buttons do not work. It is odd because the rest of the code seems to execute okay. I have some led's on a front panel that are driven by and I2C to GPIO chip, and they are working so that tells me that much of my code is running. I am also toggling some pins in a timer ISR and I can see them toggling on an oscope.
The second problem may or may not be related to the first. When I have the problem described above, a hardware reset (to the Reset pin on MSP) will often clear the problem and the system works okay again. But I have several boards where the hardware reset does not work at all any more, ever, even when I don't have the non-responsive push-button problem. At one time the hardware resets on these boards worked but now they don't.
Another interesting fact is that the system has an event that will trigger all init() functions to be called. After this event occurs, the push-buttons are responsive again. This is without any hardware or software reset.
I'm at a loss for what to do. I am sequentially trying different things to isolate the problem. This is the first project where I have tried using the MSP430Ware Driver Library. There have been quite a few times when I have been debugging a program with the FET and Code Composer, where the program seemed to hang. I would hit the pause button and it was often stuck in a MSP430Ware driver. So, from those observations, my first attempt will be to remove the MSP430Ware for the push buttons. I really doubt this is the issue.
All the buttons are on the same port P2 and I am initializing them all in one operation. I was also thinking that maybe their could be a problem with setting all the pins to pull up at the same time. But the datasheet indicates something like 30kOhm (don't remember exactly) and the buttons are normally closed. So I doubt this would be causing an issue too.
Hopefully someone has had similar or experience or can give me suggestions. I will post progress as I make it.