Portál AbcLinuxu, 4. května 2025 14:12
Řešení dotazu:
uses DataPortSerial ... SerialPort : TDataPortSerial; SerialPort.Open('/dev/ttyUSB0');
Uses DataPort, DataPortUART;
Type SerialPort : TDataPortUART;
// a pak v kodu mam pokus o otevreni portu
SerialPort.Open('/dev/ttyUSB0,9600,8,N,1,0,0');
Vic toho neni a diky za rady, ale urcite budu potrebovat poradit vic :-/
Jinak u tohoto typu komponenty se připrav, že čtení nemáš pod kontrolou - tj. bude se automaticky volat událost kdykoliv přijde nějaký cucek dat:
TDataPortUART = class(TDataPort) ..... { Triggered when data appeared (not thread-safe, called from inner thread!) } property OnDataAppearUnsafe: TNotifyEvent read FOnDataAppearUnsafe write FOnDataAppearUnsafe; end;Vytahovat z bufferu a řešit kde začínají a končí si musíš nějak sám. Plus je tam poznámka že to není thread safe ...
terminal.pas(10,3) Fatal: Nelze najít DataPortFTDI užito terminal, nekompatibilní ppu=/home/petr/.lazarus/onlinepackagemanager/packages/DataPort/lib/x86_64-linux/DataPortFTDI.ppu, balíček DataPortLasarus
Prve jsem zkusil DataPortSerial, ale se stejnym vysledkem.
Vzdy jsem pro tento ucel pouzival TBlockSerial z unitu Synaser knihovny Synapse.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.