This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
I am experiencing an issue with I2C. The I2C register UCBBUSY (Bus Busy Flag) becomes set once the UCSWRST (USCI Software Reset) has been cleared. To my reading of the MSP430x2xx family user manual, the only time the UCBBUSY register should be set is when the start condition is set. I also have an external 10k ohm pull-up resistor for each the SCL and SDA lines. I am currently using the MSP430G2553 with the MSP430 launch-pad and the code I am using is a modified version USCI library for I2C. I have also manually tried to clear UCBBUSY by setting UCTXSTP on UCB0CTL1 but that does not work. Any insight to the cause of the bus busy flag being set would indeed be a great help. Thank you for your time.
Hello,
I did once experience the same issue. I read along some other forums and found a clue that sometimes the I2C becomes stuck on start.
So I did workaround NOT A SOLUTION to the problem:
I toggle the Data and Clock line at the beginning of my code. I put those physical pins as GPIO and toggle them around 100 times , kind of for resetting them. I dont know why this should or could work, but it did for me, my I2C is just working fine.
Of course as I said that is no real solution, but it at least works in my environment.
Another thing is, there are 1k Ohm resistors in some appnotes, I think that was for a bigger current flow, perhaps you should try to solder those in first, perhaps that already might resolve your problems.
If not I would appreciate if you try the toggle I describe, I would be curious if this may help your PCB too, as it doesnt seem like a solution :)
Thanks for the workaround I should have an update if it worked or not some time today, but I was hoping to have some dialogue with a TI employee to see what a solution to my problem could possibly be
**Attention** This is a public forum