串口通信程序的编写可以根据使用的编程语言和库有所不同。以下是几种常见编程语言的串口通信程序示例:
Python 示例
使用 `pyserial` 库进行串口通信的 Python 示例代码:
```python
import serial
import time
创建串口对象
ser = serial.Serial(
port='/dev/ttyUSB0', Windows下是'COM1'等
baudrate=9600, 波特率
bytesize=8, 数据位
parity='N', 校验位
stopbits=1, 停止位
timeout=1 读取超时时间
)
发送数据
def send_data():
data = "Hello, Serial!"
ser.write(data.encode())
print(f"发送数据: {data}")
接收数据
def receive_data():
if ser.in_waiting:
data = ser.readline().decode().strip()
print(f"接收数据: {data}")
主循环
try:
while True:
send_data()
receive_data()
time.sleep(1)
except KeyboardInterrupt:
ser.close()
```
C 示例
使用 C 和 `System.IO.Ports.SerialPort` 类进行串口通信的示例代码:
```csharp
using System;
using System.IO.Ports;
class Program
{
static void Main()
{
SerialPort ser = new SerialPort("COM1", 9600);
ser.Open();
while (true)
{
string message = "Hello from Serial Port";
byte[] messageBytes = ser.GetBytes(message);
ser.Write(messageBytes, 0, messageBytes.Length);
byte[] buffer = new byte[ser.BytesToRead];
ser.Read(buffer, 0, buffer.Length);
string receivedData = ser.ReadLine();
Console.WriteLine("Received: " + receivedData);
}
}
}
```
C 示例
使用 C 语言和 POSIX API 进行串口通信的示例代码: