Проверил контроллер в связке с двигателем на демонстрационной программе, всё работает. Можно начинать писать своё и понемногу отлаживаться. Напомню, речь идет о написании управляющего интерфейса (приложения) на Free Pascal/Lazarus.
«Секс номер раз»: «отжимания» с передачей через pchar строки в dll. Строка там хоть и ANSIшная использована, но пока что «Не лiзе, батьку! У кринку не лiзе!»
begin ComPortName:= 'COM12'; tmpStr:= StrNew(PChar(ComPortName)); // Здесь вызывается процедуры подключения из внешней DLL, // куда по PChar передается номер порта StrDispose( tmpStr ); end;
«Секс номер раз»: «отжимания» с передачей через pchar строки в dll. Строка там хоть и ANSIшная использована, но пока что «Не лiзе, батьку! У кринку не лiзе!»
ОтветитьУдалитьВот с чем экспериментирую сейчас:
ОтветитьУдалитьvar
tmpStr: PChar;
begin
ComPortName:= 'COM12';
tmpStr:= StrNew(PChar(ComPortName));
// Здесь вызывается процедуры подключения из внешней DLL,
// куда по PChar передается номер порта
StrDispose( tmpStr );
end;
Неожиданное: связка контроллер+двигатель дает ошибку позиционирования ротора при нечетном числе шагов.
ОтветитьУдалить