Code: Select all
// текстовый формат ***********************************
// Формат буфера текст, 55 байт. Разделитель данных ";" двоеточие.
// Индекс, целое без знака - 5 байт
// Режим работы КК (0/1), целое без знака - 1 байт
// Текущая таблица (1-2-3), целое без знака - 1 байт
// Текущая скорость стабилизации в км/ч, один разряд после запятой без знака - 5 байт
// Текущая скорость в км/ч, один разряд после запятой без знака - 5 байт
// Ошибка скорости в км/ч, один разряд после запятой со знаком - 6 байт
// Ошибка скорости в см/с, целое со знаком - 5 байт
// Ускорение в см/c^2, целое со знаком - 5 байт
// Перемещение привода в %, один разряд после запятой со знаком - 5 байт
// Скорость пользователя в км/ч, один разряд после запятой без знака - 5 байт
// Флаг состояния - 1 байт, целое без знака:
// 0 - Всё OK
// 1 - Power-on Reset Flag
// 2 - External Reset Flag
// 3 - Brown-out Reset Flag
// 4 - Watchdog Reset Flag
// 5 - JTAG Reset Flag
// 6 - Предельное время работы привода
// 7 - Выход за пределы разрешенного диапазона скоростей
Code: Select all
3516;0;2; 0.0; 0.0; 0.0; 0; 0; 0.0; 60.0;0;
3517;0;2; 0.0; 0.0; 0.0; 0; 0; 0.0; 60.0;0;
3518;0;2; 0.0; 0.0; 0.0; 0; 0; 0.0; 60.0;0;
3519;0;2; 0.0; 0.0; 0.0; 0; 0; 0.0; 60.0;0;
3520;0;2; 0.0; 0.0; 0.0; 0; 0; 0.0; 60.0;0;
3521;0;2; 0.0; 0.0; 0.0; 0; 0; 0.0; 60.0;0;
3522;0;2; 0.0; 0.0; 0.0; 0; 0; 0.0; 60.0;0;
Теперь о схеме, она проста и назамысловата. Индикатор, тинька и питальник. На дисплей выводится в таком формате: Первая строка:
On|Off - Круиз включен или выключен,
K|N|D - таблица (Комфорт, Норма, Динамик)
f 0.0 - зафиксированная скорость, если >99.9, то "1" выводится на месте "f"
s 0.0 - текущая скорость, с сотнями также - замещается "s"
Вторая строка:
_ - падающая палка. Каждая принятая посылка опускает палку на один пиксель вниз, потом начинается опять сверху. Хорошо видно, работает ли КК и сыплются ли данные.
00 - Ошибка. Первый символ - прямо из строки, второй сохраняется в памяти и выводится до появления следующей ошибки.
d 0.0 - Перемещение привода в %.
u60.0 - Пользовательская скорость, сотни отображаются так же, как в "f" и "f".
Прошивка писана в CodeVisionAVR v2.05.3, расписаны все параметры, передаваемые в строке, но не все выводятся, можно подкорректировать - там всё просто.
Во вложении HEX и исходник.
Фьюзы отдельно.