Привет всем А кто писал программу стыковки AVR с ПК, причём для AVR на асм-ре, а для ПК на Делфи? В книжке читаю в примере "отправляем в порт строку 5А 21 00 00 00 00 7А дальше коментируется 5А - стартовый байт" не понимаю, вот этот стартовый байт всегда должен быть 5А или нет, может это конкретный пример (для конкретной проги)? Вот часть кода для проги на Delphi:
begin if not VaComm1.Active then VaComm1.Open; sCMD:='5A'+Format(' %2.x',[cmRS]); sum:=$5A+$21; sCMD:=sCMD+' 00 00'; for J:=1 to 128 do begin sum:= sum+I; sCMD:= sCMD+Format(' %.2x',[J]); end; sCMD:= sCMD+A+Format(' %.2x',[12]); sum:= sum+$12; sCMD:=sCMD+Format(' %.2x',[Hi(sum)])+Format(' %.2x',[Lo(sum)]); Edit1.Text :=sCMD; VaComm1.WriteText(sCMD); end; end.
Строковая переменная sCMD и есть то что мы передаём на контророллер. Она формируется из стартового байта(5А) и байта команды(cmRS=$21). Непонятно зачем добавляются вот это '00 00'. То что цикл забивает 128 байт цифрами вроде понял, но итересует как вместо цифр забить конкретные данные. Да и вообще как изменить длину слова данных.
|