Приветствую разработчиков и заранее благодарю за ответы, особенно основанные на собственном опыте.
Проблема такая. Контроллер - VNC1L, прошивка - VDIFFUL_V3_54.ROM, интерфейс с микроконтроллером - UART. При операциях записи использую следующую последовательность: OPW (open for write) жду ответа File Open, потом WRF (write file) жду ответа D:\> и под конец CLF (close file) жду ответа D:\>.
Первый раз запись проходит отлично, но второй-третий виснет на операции WRF.
Когда я порылся на сайте в описании команд
здесь, то увидел, что есть расхождения в описании команд с докой с сайта ЭФО. В доке с ЭФО операция записи трех байт выглядит дословно так:
'W', - операция
'R',
'F',
' ', - пробел
0x00,0х00,0х00,0х03, - количество данных для записи на диск
0x0d, - перевод каретки.
data, - собственно сами данные из трех байт.
0x0d.
В доке с сайта:
'W', - операция
'R',
'F',
' ', - пробел
0х00,0х03, - количество данных для записи на диск
0x0d. - перевод каретки.
data.
Как вы заметили, разница очевидна. Количество байт задается в первом случае четырьмя байтами, а во втором - двумя. И в конце первого варианта есть перевод каретки, а во втором отсутствует.
Так какой же верный. Не может же быть так, что разработчики софта так налажали, что не проверили операцию записи. Она же должна работать!
Кто имел удачный опыт работы с данной прошивкой, отзовитесь! Буду очень благодарен.