Спасибо за отклик. Немного лирики. Кейлом и написанием программ на С за всю жизнь пользовался чисто эпизодически раза три с интервалом ~ 5 лет, не вдаваясь в тонкости и оптимизацию - лишь-бы работало, каждый раз думая, что больше к этому не вернусь. Но, вот, жизнь опять заставила этим заняться. Прикрепил архив проекта. Сейчас проект отлаживаю в отладчике, хотя железо есть, а адаптер подвезут только на следующих выходных.
Сначала создал конструкцию, отображённую в строках 164, 165 и на этом заткнулся. Затем попробовал конструкцию, отображённую в строках 166, 167 - тот-же самый результат. Пришлось ввести новые переменные d0 ... (строка 122) и в дальнейшем использовать их. Как оказалось это было и хорошо, поскольку, как выяснилось в последствии, индикаторами надо было управлять и по другим законам. Основной цикл только что написал и не отлаживал. Посмотрел только, как ведёт себя переменная "pusk" (строка 68). Тот же самый удручающий результат - if (pusk) не хочет работать.
Ещё полностью не разобрался как правильно пользоваться логическими операциями, например &, &&, но это при отладке можно будет причесать.
До кучи. Использую таймер0. По моим подсчётам он должен выдавать прерывание с частотой 1,9 Гц (6мГц/48/2^16). А Silab овский конфигуратор показывает 162 Гц. Решил пока на этом не зацикливаться, но если кто знает, ответе.
Сообщение отредактировал schulgin - May 14 2012, 08:39