Много от чего может виснуть. Только нужно понимать: бывают глюки аппаратной части (нужно читать errata на контроллер), а бывают нлюки программы. Первые можно, хоть и не всегда, но как-то обойти, вторые исправляются отладкой и пониманием работы программы.