c# 串口调试

public bool IsCommPortValid(int port)

{
    try
    {
    SerialPort sp = new SerialPort("COM"+port.ToString());
    sp.Close();
    }
    catch
    {
        return false;
    }
}

用个try,catch抓一下,串口占用直接会报占用的错误,打印出来就行了啊

                string port = null;
                port = Console.ReadLine();
                SerialPort sp = new SerialPort("COM" + port);
                try
                {
                    sp.Open();
                    Thread.Sleep(1000);
                    sp.Close();
                        Console.WriteLine("端口尚未打开");
                }
                catch (InvalidOperationException e)
                {
                    Console.WriteLine("端口已打开");
                }
                catch(Exception ee)
                {
                    Console.WriteLine( new Exception(ee.Message));
                }

测试

string port = null;
port = Console.ReadLine();
SerialPort sp1 = new SerialPort("COM1");
sp1.Open();
SerialPort sp = new SerialPort("COM" + port);
try
{
    sp.Open();
    sp.Close();
    Console.WriteLine("端口尚未打开");
}
catch (InvalidOperationException e)
{
    Console.WriteLine("端口已打开");
}
catch(Exception ee)
{
    Console.WriteLine( new Exception(ee.Message));
}
时间: 2024-08-26 13:10:47

c# 串口调试的相关文章

VELT-0.1.5开发: gdb串口调试内核时信息丢失的问题

快乐虾 http://blog.csdn.net/lights_joy/(QQ群:Visual EmbedLinux Tools 375515651) 欢迎转载,但请保留作者信息 本文仅适用于vs2013 + velt-0.1.5 VELT的全称是Visual EmbedLinuxTools,它是一个与visual gdb类似的visual studio插件,用以辅助完成Linux开发.利用这个插件,将可以在visual studio的IDE中进行Linux应用程序的开发(包括编译和调试),也可

2440裸机串口调试 while(!(rUTRSTAT0 & 0x2));问题

前两天写RTC中断 使用串口输出 发现程序会出现while(!(rUTRSTAT0 & 0x2));出不来的情况,但是中断是正常运作的 解决方法: main函数增加: U32 mpll_val = 0,consoleNum; Port_Init(); //定义在2440lib.c mpll_val = (92<<12)|(1<<4)|(1); //init FCLK=400M, ChangeMPllValue((mpll_val>>12)&0xff, (

基于Modbus的C#串口调试开发

说明:本文主要研究的是使用C# WinForm开发的串口调试软件(其中包含Modbus协议相关操作).Modbus相关协议可以查阅百度文库等,可参考: <http://wenku.baidu.com/link?url=J-QZeQVLfvfZh7_lh8Qf0MdwANZuVjEoTqox6zJYrSnKyfgES2RTb_bjC5ZTn8-xgsuUAyiELRYVA3-3FBkBGywWhQ9YGoavJOzwB0IxTyK >. (1)先测试串口设置,发送和接收数据. (2)发送modb

keil中的串口调试:

keil中串口的虚拟调试信息在通过View-serial windows-#usart1/2/3/4/debug(printf)可以看到.当然也可以通过虚拟串口VSPD+串口调试助手在外部实现,方法如下: 虚拟 串口使用:步骤 1 下载虚拟串口软件,虚拟2个连接的串口COMA/COMB,这两个串口与PC机的真实物理串口没关系.两边的设置相同 2 打开串口通讯助手,将A分配给串口通讯助手,则B就分配给下面的COMx 2 在MDK中输入命令行或者将下面的做成debug.ini文件加载 MODE CO

[STM32F10x] 使用printf函数进行串口调试问题

硬件:STM32F103C8T6 平台:Keil ARM-MDk V5.11 利用printf函数通过串口(USART)进行调试时遇到的一个问题: printf("Hello, Mini-M3"); 本意是想输出"Hello, Mini-M3",但是通过串口调试助手,得到的输出是"ello, Mini-M3",也就是第一个数据没有接收到,而且这种情况只会在初始化USART后第一次 发送数据时出现. USART发送数据的代码如下: int fput

Linux下使用putty进行UART串口调试【转】

本文转载自:http://blog.csdn.net/xzongyuan/article/details/11593101 版权声明:本文为博主原创文章,未经博主允许不得转载. 使用putty进行串口调试,非常简单.只需要设置好端口(Serial Line),Linux中默认接上串口后,端口为ttyS0,或者ttyUSB0(对应USB转串口),如果再多接一个,就会显示ttyS1或者ttyUSB1:Window中,普通串口对应的是COM1.COM2,USB对应COM3(需要安装驱动,在设备管理器查

android-x86如何开启串口调试

android-x86的grub是采用相对UBuntu古老一些的方式,来grub kernel的 如何开启android-x86的串口调试模式呢,采用如下步骤: (1)mount sda1: mkdir /data/fs mount -t ext2 /dev/block/sda1 /data/fs (2)修改menu.lst文件 这个文件保存grub配置,修改如下: [email protected]:/data/fs/grub # cat menu.lst default=0 timeout=

STM32F407串口调试总结

一.背景 最近项目开发需要用到3路串口,分别为U1,U5,U6,其中U1原子哥的例程已经提供,拿过来就可用,本文主要讲解U5,U6串口调试. 二.正文 1.硬件描述 三个串口分别对应的发送引脚和接收引脚如下表所示: 串口号 接收引脚 发送引脚 USART1 PA9 PA10 UART5 PC12 PD2 USART6 PG14 PG9 2.串口介绍 USART为通用同步异步接收器,能够灵活地与外部设备进行全双工数据交换,满足外部设备对工业标准NRZ异步穿行数据格式的要求. STM32F407ZG

SylixOS串口调试详解

目录 1. SylixOS串口调试介绍    1 1.1    SylixOS串口的介绍    1 1.2    SylixOS串口调试介绍    1 2. SylixOS串口调试步骤    1 3. 总结    4 4. 参考资料    4 SylixOS串口调试介绍 SylixOS串口的介绍 串口(串行接口)也称也称串行通信接口或串行通讯接口(通常指 COM接口),是采用串行通信方式的扩展接口.串行接口 (Serial Interface) 是指数据一位一位地顺序传送,其特点是通信线路简单,

ARM2440学习笔记--Linux系统下串口调试和USB调试环境搭建

64位WIN7不能安装DNW,所以在32位LINUX虚拟机操作 linux复制:linux根目录下的文件夹复制粘贴需要权限,所以很多时候复制粘贴不成功 DNW:dnw需要虚拟机在前台时插入USB 串口调试(COM-USB):每次插入USB后 看/dev 里 是ttyusb0 还是 ttyusb1 ,然后通过VI修改.kermrc(命令行: ~/.kermrc) usb调试:虚拟机在前台时插入USB,识别后,在WIN中资源管理器看到识别到未知通用串行设备,在linux中 sudo lsusb可以看