Показаны различия между двумя версиями страницы.
Следующая версия | Предыдущая версия | ||
ob:o7:example:pccontrol [2022/03/12 10:04] iadenisov создано |
ob:o7:example:pccontrol [2022/03/13 13:59] (текущий) iadenisov |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | Если подключить к микроконтроллеру драйвер L293D, то возможно управлять мотором, | + | ====== Передача данных между МК и ПК ====== |
- | С помощью модуля MicroSTM32F1TPorts возможно принимать пакеты с идентификаторами от ПК. | + | |
+ | Если подключить к микроконтроллеру драйвер L293D, то возможно управлять мотором, | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | С помощью модуля | ||
Код для микроконтроллера: | Код для микроконтроллера: | ||
Строка 69: | Строка 74: | ||
END Main. | END Main. | ||
</ | </ | ||
+ | |||
+ | |||
+ | Программа для ПК на языке Компонентный Паскаль: | ||
+ | < | ||
+ | MODULE KrisControl1; | ||
+ | |||
+ | IMPORT MicroTPorts; | ||
+ | |||
+ | TYPE MessagesHandler = POINTER TO RECORD (MicroTPorts.MessagesHandler) END; | ||
+ | |||
+ | CONST | ||
+ | motorStartForward = 021X; | ||
+ | motorStartBackward = 022X; | ||
+ | motorStop = 023X; | ||
+ | |||
+ | VAR | ||
+ | p: MicroTPorts.Port; | ||
+ | mh: MessagesHandler; | ||
+ | |||
+ | PROCEDURE (h: MessagesHandler) MessageReceived (id: SHORTCHAR; IN a: ARRAY OF SHORTCHAR; len: INTEGER); | ||
+ | BEGIN | ||
+ | END MessageReceived; | ||
+ | |||
+ | PROCEDURE Open*(port: ARRAY OF CHAR); | ||
+ | BEGIN | ||
+ | IF p = NIL THEN | ||
+ | p := MicroTPorts.NewPort(port, | ||
+ | IF p # NIL THEN | ||
+ | Log.String(" | ||
+ | END | ||
+ | END | ||
+ | END Open; | ||
+ | |||
+ | PROCEDURE Close*; | ||
+ | BEGIN | ||
+ | MicroTPorts.Close(p); | ||
+ | Log.String(" | ||
+ | END Close; | ||
+ | |||
+ | PROCEDURE Forward*; | ||
+ | VAR a: ARRAY 1 OF SHORTCHAR; | ||
+ | BEGIN | ||
+ | MicroTPorts.SendMessage(p, | ||
+ | END Forward; | ||
+ | |||
+ | PROCEDURE Backward*; | ||
+ | VAR a: ARRAY 1 OF SHORTCHAR; | ||
+ | BEGIN | ||
+ | MicroTPorts.SendMessage(p, | ||
+ | END Backward; | ||
+ | |||
+ | PROCEDURE Stop*; | ||
+ | VAR a: ARRAY 1 OF SHORTCHAR; | ||
+ | BEGIN | ||
+ | MicroTPorts.SendMessage(p, | ||
+ | END Stop; | ||
+ | |||
+ | BEGIN | ||
+ | NEW(mh) | ||
+ | CLOSE | ||
+ | Close | ||
+ | END KrisControl1. | ||
+ | |||
+ | Комнады для управления: | ||
+ | |||
+ | " | ||
+ | |||
+ | KrisControl1.Forward | ||
+ | |||
+ | KrisControl1.Backward | ||
+ | |||
+ | KrisControl1.Stop | ||
+ | |||
+ | KrisControl1.Close | ||
+ | </ | ||
+ | |||
+ | Эти команды возможно привязать к кнопкам, | ||
+ | |||
+ | {{ : |