Имею большой опыт программирования, только не для микроконтроллеров. Программа тестовая, когда вдруг перестала работать, стал вносить изменения, чтобы разобраться, стала немного корявой. И дураку ясно, что это даже не каркас для нормальной программы.