C# 帮我写一个demo 根据文件地址 提取文件 将文件转换成16进制 提取出来的16进制通过serialPort1.WriteLine发送
时间: 2024-11-15 13:29:20 浏览: 7
C#串口通信数据和文件传输
5星 · 资源好评率100%
在C#中,你可以使用System.IO命名空间来读取文件,然后将其内容转换为十六进制并通过SerialPort发送。下面是一个简单的Demo来实现这个功能:
```csharp
using System;
using System.IO;
using System.Text;
class Program
{
static void Main(string[] args)
{
try
{
// 文件路径
string filePath = @"C:\example\file.txt"; // 替换为你实际的文件路径
// 打开文件并读取其内容
using (FileStream fs = File.OpenRead(filePath))
{
byte[] fileBytes = new byte[fs.Length];
fs.Read(fileBytes, 0, (int)fs.Length);
// 转换为十六进制字符串
StringBuilder hexBuilder = new StringBuilder();
foreach (byte b in fileBytes)
{
hexBuilder.Append(b.ToString("X2"));
}
// 通过SerialPort发送十六进制字符串
SerialPort serialPort = new SerialPort("COM1", 9600); // 修改为你的串口配置
serialPort.Open();
serialPort.WriteLine(hexBuilder.ToString());
serialPort.Close();
}
}
catch (Exception ex)
{
Console.WriteLine($"Error occurred: {ex.Message}");
}
}
}
```
在这个例子中,首先打开指定的文件并读取其全部内容到一个字节数组中。然后遍历数组,将每个字节转换为两位十六进制数,并拼接到`hexBuilder`字符串中。最后,通过`serialPort.WriteLine`发送这个十六进制字符串。
阅读全文