113 lines
1.8 KiB
Markdown
113 lines
1.8 KiB
Markdown
|
|
# CSerialPort for CSharp
|
||
|
|
|
||
|
|
```
|
||
|
|
swig: 4.1.1 (2022-11-30)
|
||
|
|
cmake: 3.8.2
|
||
|
|
```
|
||
|
|
|
||
|
|
## Install swig && cmake
|
||
|
|
|
||
|
|
### windows
|
||
|
|
|
||
|
|
- swig
|
||
|
|
|
||
|
|
```
|
||
|
|
$ wget https://sourceforge.net/projects/swig/files/swigwin/swigwin-4.1.1/swigwin-4.1.1.zip
|
||
|
|
```
|
||
|
|
|
||
|
|
- cmake
|
||
|
|
|
||
|
|
```
|
||
|
|
$ wget https://github.com/Kitware/CMake/releases/download/v3.26.4/cmake-3.26.4-windows-x86_64.msi
|
||
|
|
```
|
||
|
|
|
||
|
|
### linux
|
||
|
|
|
||
|
|
- swig
|
||
|
|
|
||
|
|
```
|
||
|
|
$ wget https://sourceforge.net/projects/swig/files/swig/swig-4.1.1/swig-4.1.1.tar.gz
|
||
|
|
$ tar zxvf swig-4.1.1.tar.gz
|
||
|
|
$ cd swig-4.1.1
|
||
|
|
$ ./configure --without-pcre
|
||
|
|
$ make
|
||
|
|
$ sudo make install
|
||
|
|
$ swig -version
|
||
|
|
SWIG Version 4.1.1
|
||
|
|
```
|
||
|
|
|
||
|
|
- cmake
|
||
|
|
|
||
|
|
```
|
||
|
|
$ wget https://github.com/Kitware/CMake/releases/download/v3.26.4/cmake-3.26.4-linux-x86_64.sh
|
||
|
|
$ sudo ./cmake-3.26.4-linux-x86_64.sh --prefix=/usr/local --skip-license
|
||
|
|
$ cmake --version
|
||
|
|
cmake version 3.26.4
|
||
|
|
```
|
||
|
|
|
||
|
|
## Build
|
||
|
|
|
||
|
|
```
|
||
|
|
cd csharp
|
||
|
|
mkdir bin
|
||
|
|
cd bin
|
||
|
|
cmake .. -DSWIG_EXECUTABLE=D:/swigwin-4.1.1/swig.exe
|
||
|
|
cmake --build .
|
||
|
|
```
|
||
|
|
|
||
|
|
**Notice:**
|
||
|
|
|
||
|
|
```
|
||
|
|
D:/swigwin-4.1.1/swig.exe should replace with your path to swig.exe
|
||
|
|
```
|
||
|
|
|
||
|
|
or (config swig to path)
|
||
|
|
|
||
|
|
```
|
||
|
|
set path=D:/swigwin-4.1.1;%path%
|
||
|
|
cmake ..
|
||
|
|
```
|
||
|
|
|
||
|
|
## Run
|
||
|
|
|
||
|
|
```
|
||
|
|
cd bin
|
||
|
|
CommCSharp
|
||
|
|
```
|
||
|
|
|
||
|
|
### Tree
|
||
|
|
|
||
|
|
```
|
||
|
|
bindings/csharp $tree
|
||
|
|
.
|
||
|
|
+--- bin
|
||
|
|
| +--- bin
|
||
|
|
| | +--- Debug
|
||
|
|
| | | +--- CommCSharp.exe
|
||
|
|
| | | +--- cserialport.dll
|
||
|
|
+--- CMakeLists.txt
|
||
|
|
+--- cserialport.i
|
||
|
|
+--- example
|
||
|
|
| +--- CMakeLists.txt
|
||
|
|
| +--- Program.cs
|
||
|
|
+--- generate
|
||
|
|
| +--- BaudRate.cs
|
||
|
|
| +--- CSerialPort.cs
|
||
|
|
| +--- cserialportCSharp.cs
|
||
|
|
| +--- cserialportCSharpPINVOKE.cs
|
||
|
|
| +--- cserialportCSHARP_wrap.cxx
|
||
|
|
| +--- cserialportCSHARP_wrap.h
|
||
|
|
| +--- CSerialPortInfo.cs
|
||
|
|
| +--- CSerialPortListener.cs
|
||
|
|
| +--- DataBits.cs
|
||
|
|
| +--- FlowControl.cs
|
||
|
|
| +--- OperateMode.cs
|
||
|
|
| +--- Parity.cs
|
||
|
|
| +--- SerialPortError.cs
|
||
|
|
| +--- SerialPortInfo.cs
|
||
|
|
| +--- SerialPortInfoVector.cs
|
||
|
|
| +--- StopBits.cs
|
||
|
|
+--- README.md
|
||
|
|
```
|
||
|
|
|