Я работаю с контроллером последовательного шагового двигателя и программирую его на C. Проблема, с которой я столкнулся, заключается в том, что контроллер возвращает значения в двоичных представлениях, и я не уверен, как отобразить.Очевидно, что преобразование его в int не является вариантом, так как мне нужно точное двоичное представление, которое отправляет контроллер.
Выход имеет вид: MSB -> LSB (старший значащий бит в младший значащий бит).*
На данный момент я пытаюсь что-то вроде:
char buff[] = "@01 STAT\r";
char readbuff[10];
fd = open("/dev/ttyS0", O_RDWR | O_NOCTTY | O_NDELAY);
n = write (fd,buff, len);
......
n = read(fd, readbuff, 3);
printf("STAT returns %c\n", readbuff);
......
Это возвращает бессмысленные данные, то есть странные формы и символы.Я установил вывод в raw и использую 0 четности.Я пропустил параметры инициализации, но могу добавить их, если это поможет.
Если кому-то интересно, я использую шаговый двигатель Ocean Control KTA-190.