Микроконтроллер

Общие вопросы программирования, алгоритмы и т.п.

Модератор: Модераторы

Ответить
tema
постоялец
Сообщения: 376
Зарегистрирован: 24.03.2011 19:19:27

Микроконтроллер

Сообщение tema »

Есть ли у кого-нибудь информация о работе с сабжем под линуксом?
Интересуют этапы:
1. Программирование контроллера. Возможно ли на fpc?
2. Допустим он запрограммирован получить команду '12345' и начать мигать светодиодом. Подключили плату по usb (не знаю как толи в режиме эмуляции COM порта, толи ещё как вообще возможно?) Есть ли примеры на fpc как отправить команду '12345'?
Ещё раз обращаю внимание: всё под линуксом и на lazarus.
Под виндой всё и так работает:
Есть программа на дельфи с компонентом COM порта. Подключаем по usb эмулируется com-порт и через компонент дельфёвый отправляются/принимаются данные. Нужно всё то же самое, но под линукс+лазарус. В идеале ещё и на отечественном контроллере. У нас же есть с архитектурой ARM К1986ВЕ92QI
olegy123
долгожитель
Сообщения: 1643
Зарегистрирован: 25.02.2016 11:10:20

Сообщение olegy123 »

Программирование для встроенных систем:
http://wiki.freepascal.org/TARGET_Embedded
поищите может уже есть под ваш контроллер.

СОМпорт в линухе
реальный:
/dev/ttyS[x]
usb:
/dev/ttyUSB[x]

Код: Выделить всё

procedure TForm1.Button3Click(Sender: TObject);
var
  SerBuf : Array[0..511] of byte;
  TmpBuf : Array[0..63] of byte;
  blen : integer;
begin
  ser:=TBlockSerial.Create;
  Sleep(300);
  ser.LinuxLock := false;
  ser.Connect('/dev/ttyUSB0');
  Sleep(300);
  ser.config(9600,8,'N',SB1,false,false);
  blen := MakeBuf(@SerBuf[0]);
  Sleep(300);
  ser.SendBuffer(@SerBuf[0],blen);
  Sleep(300);
  ser.RecvBufferEx(@TmpBuf[0], 1, 500);
  Sleep(300);
  ser.free;
end;

взято тут:
http://forum.lazarus.freepascal.org/ind ... ic=21552.0
mig-31
постоялец
Сообщения: 224
Зарегистрирован: 14.07.2011 13:46:48

Сообщение mig-31 »

Все просто. Используйте unit Synaser из Synapse.

USB: /dev/ttyUSB0, dev/ttyUSB1,...
USB как модем: /dev/ttyACM0, dev/ttyACM1
на борту материнской платы: /dev/ttyS0, /dev/ttyS1,...

Из терминала задайте и увидите все tty в системе:

Код: Выделить всё

dmeg |grep tty
fedan
новенький
Сообщения: 70
Зарегистрирован: 15.09.2016 20:18:48

Сообщение fedan »

mig-31 писал(а):

Код: Выделить всё

dmeg |grep tty

Код: Выделить всё

dmesg | grep tty

fixed
tema
постоялец
Сообщения: 376
Зарегистрирован: 24.03.2011 19:19:27

Сообщение tema »

Спасибо!
madtux
незнакомец
Сообщения: 2
Зарегистрирован: 23.06.2017 19:32:16

Сообщение madtux »

Компиляторы PASCAL от микроэлектроники легко и без проблем идут под wine.
Еще одна труднозаменимая программа это PROTEUS CAD симулятор схем. Поддерживает много контроллеров AVR, PIC, ARM CortexM3 не все но есть.
Седьмая серия тоже замечательно под Wine.
Восьмую так и не запустил толком.
Ответить