精华内容
下载资源
问答
  • 在“串口调试助手”中的数据发送区中输入要发送的信息,点击“手动发送按钮”,则会发现Proteus中的仿真系统的数码管显示出所发送的信息。 当按下Proteus中的仿真电路中的按键K1键时,串口调试助手的接收区则显示PC...
  • 单片机自动向PC机发送数据的方法

    千次阅读 2009-08-06 21:32:00
    单片机通过串口向PC机发送数据一般是通过串口中断服务程序来实现,也就是说一般写在中断函数里。例如: #include /*主程序*/void main (void){ SCON = 0x50; /* SCON: 模式 1, 8-bit

    单片机通过串口向PC机发送数据一般是通过串口中断服务程序来实现,也就是说一般写在中断函数里。例如:

     

     

    以上是一个单片机与PC机互发的程序,是通过PC机向缓冲区SBUF发送数据来实现打开串口中断,但要单片机自主的向PC机发送数据而不需PC机操作,这样就不能实现,因此可以将串口中断另外写成一个函数,在main()函数中调用:
     
    展开全文
  • 单片机串口调试工具 用于像PC机发送接收数据的软件 串口调试工具 串口数据发送与接收 工具
  • 《51单片机PC机通信资料》由会员分享,可在线阅读,更多相关《51单片机PC机通信资料(14页珍藏版)》请在人人文库网上搜索。1、专业综合实习报告专 业: 电子信息工程 年 级: 2013级 指导教师: 学 生: 目录一:...

    《51单片机与PC机通信资料》由会员分享,可在线阅读,更多相关《51单片机与PC机通信资料(14页珍藏版)》请在人人文库网上搜索。

    1、专业综合实习报告专 业: 电子信息工程 年 级: 2013级 指导教师: 学 生: 目录一:实验项目名称二:前言三:项目内容及要求四:串口通信原理五:设计思路5.1虚拟串口的设置5.2下位机电路和程序设计5.3串口通信仿真六:电路原理框图七:相关硬件及配套软件7.1 AT89C51器件简介7.2 COMPIN简介7.3 MAX232器件简介7.4 友善串口调试助手7.5 虚拟串口软件Virtual Serial Port Driver 6.9八:程序设计九:proteus仿真调试十:总结十一:参考文献一:实验项目名称:基于51单片机的单片机与PC机通信二:前言在国内外,以PC机作为上位机,单片。

    2、机作为下位机的控制系统中,PC机通常以软件界面进行人机交互,以串行通信方式与单片机进行积极交互,而单片机系统根据被控对象配置相应的前向,后向信息通道,工作时作为主控机测对象,作为被控机接受PC机监督,指挥,定期或受命向上位机提供对象及本身的工作状态信息。目前,随着集成电路集成度的增加,电子计算机向微型化和超微型化方向发展,微型计算机已成为导弹,智能机器人,人类宇宙和太空和太空奥妙复杂系统不可缺少的智能部件。在一些工业控制中,经常需要以多台单片机作为下位机执行对被控对象的直接控制,以一台PC机为上位机完成复杂的数据处理,组成一种以集中管理、分散控制为特点的集散控制系统。为了提高系统管理的先进性和。

    3、安全性,计算机工业自动控制和监测系统越来越多地采用集总分算系统。较为常见的形式是由一台做管理用的上位主计算机(主机)和一台直接参与控制检测的下位机(单片机)构成的主从式系统,主机和从机之间以通讯的方式来协调工作。主机的作用一是要向从机发送各种命令及参数:二是要及时收集、整理和分析从机发回的数据,供进一步的决策和报表。从机被动地接受、执行主机发来的命令,并且根据主机的要求向主机回传相应烦人实时数据,报告其运行状态。用串行总线技术可以使系统的硬件设计大大简化、系统的体积减小、可靠性提高。同时,系统的更改和扩充极为容易。MCS-51系列单片机,由于内部带有一个可用于异步通讯的全双工的穿行通讯接口,阴。

    4、齿可以很方便的构成一个主从式系统。串口是计算机上一种非常通用的设备通讯协议,大多数计算机包容两个基于RS232的串口。串口同时也是仪器仪表设备通过用的通讯协议,很多GPIB兼容的设备也带有RS-232口。同时串口通讯协议也可以用于获取远程采集设备数据。所以,深入的理解学习和研究串口通信相关知识是非常必要的。此次毕业设计选题为“PC机与MCS-51单片机的串口通讯”,使用51单片机来实现一个主从式的总线通讯系统。通过此次设计,对串口通讯的原理和应用融会贯通,为以后的时间工作储备知识和研究方法。3 项目内容及要求基于51单片机,在相关软件的辅助下,建立起单片机与PC机之间的通信机制,使用prote。

    5、us仿真软件进行仿真,要求可从PC机上发送数字及英文字母出来,由单片机接收并在虚拟软件显示屏上显现出来,有开关控制数字或者是字母的发送。四:串口通信原理单片机与外围部件或设备的数据传输方式有并行通信和串行通信两种方式,本实验主要通过串行通信方式进行单片机与PC机之间的数据传输,故略去并行通信方式的介绍。串行通信是指计算机主机与外设之间以及主机系统与主机系统之间数据的串行传送。使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。其只需要少数几条线就可以在系统间交换信息,特别适用于计算机与计算机、计算机与外设之间的远距离通信。串口通信时,发送和接收到的每一个字符实际上都是一。

    6、次一位的传送的,每一位为1或者为0。这种传送方式具有方法简单,灵活性强,可靠性高等特点,同时需要的传送线少,适于远距离传送。但是,由于数据是按位发送出去的,因此这种数据传送方式比并行通信速率低。串行通信又可以分为同步通信和异步通信两种方式。同步通信是指同步通信是一种比特同步通信技术,要求发收双方具有同频同相的同步时钟信号,只需在传送报文的最前面附加特定的同步字符,使发收双方建立同步,此后便在同步时钟的控制下逐位发送/接收。进行数据传输时,发送和接收双方要保持完全的同步,因此,要求接收和发送设备必须使用同一时钟。相对于同步通信,异步通信在发送字符时,所发送的字符之间的时隙可以是任意的,当然,接收。

    7、端必须时刻做好接收的准备(如果接收端主机的电源都没有加上,那么发送端发送字符就没有意义,因为接收端根本无法接收)。发送端可以在任意时刻开始发送字符,因此必须在每一个字符的开始和结束的地方加上标志,即加上开始位和停止位,以便使接收端能够正确地将每一个字符接收下来。内部处理器在完成了相应的操作后,通过一个回调的机制,以便通知发送端发送的字符已经得到了回复。5 设计思路Pc机和单片机的串口通信系统的调试一般通过一根串口连接线把带有软件上位机的(Pc机)和下位机(即单片机)连接起来进行,用这种调试串口通信程序比较烦琐。本文介绍一种用纯软件实现PC机和单片机串口通信的仿真的方法,所有的调试都在一台电脑上。

    8、通过软件完成。上位机由Pc机代替,下位机由用PROTEUS软件设计的AT89C51单片机仿真电路代替串口及连接通过由虚拟串口软Virtual Serial Port Driver 6.9进行连接。5.1虚拟串口的设置安装虚拟串口软件Virtual Serial Port Driver 6.9,然后打开,左边上面的COMl是电脑上实际的物理串口,下面是虚拟串口,在没有设置前是空的。因为电脑最多有两个物理串口,将圆圈里的串口改为COMl,COM3,点击Add pair,这就表示,利用这个软件将计算机的串口l和模拟串口3联接了起来,这两个串口可以进行通信了。5.2下位机电路和程序设计用Proteus。

    9、69设计的仿真电路只用了几个元器件。由于两个虚拟串口采用相同的标准电平,因此电路中用来作,ITllL电平向RS232电平转换的电路在仿真电路中可以省略。单片机的实例程序用KeilC51语言编写,串口接收数据采用中断的方式,发送数据采用外部中断的方式,用按钮开关控制数据的发送。5.3串口通信仿真打开友善串口调试助手,修改串口为COM3,波特率为9600,校验位为None,数据位8,停止位为1。用Proteus打开仿真电路文件,先设置AT89C51的属性,右击选中AT89C5l,再用左键单击AT89C51,在出现的属性对话框里点击Program File后的打开按钮,找到自Keil源程序编译好的H。

    10、EX文件后单击打开,然后在Clock Frequency后填写12M。单击OK接下来打开串口COMPIN的属性对话框,在PhsicalPort后选择COMl,波特率为9600,校验位为None,数据位8,停止位为l。设置好后,启动仿真就可以实现电脑和单片机串口通信的仿真了。首先演示一下单片机向计算机的串口发送数据。拨动开关向右拨,运行,按一下开关。虚拟串口终端最示单片机向计算 机COMl发送的数据,而计算机的COMI已经和COM3相连,因软件PROTEUS 所此可以在COM3收到单片机发送给COMi的数据。接着冉演示一下计算机的串口向单片机发送数据。拨动开关向左拨,在口调试助手中输入想要发送的。

    11、数据,点击手动则字符 串由COM3发送给了计算机的COMI。再由COMI发送给单片 机。单片机的程序里面有回显功能,将接 送给了COM因此可以在COM3的接受框内能够接收到会显得字符串。六电路原理框图7 相关硬件及配套软件7.1 AT89C51器件简介AT89C51是一种带4K字节FLASH存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL。

    12、高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪速存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。7.2 COMPIN简介COM口( cluster communication port )即串行通讯端口。微机上的com口通常是9针,也有25针的接口,最大速率bps。通常用于连接鼠标(串口)及通讯设备(如连接外置式MODEM进行数据通讯或一些工厂的CNC机接口)等。一般主板外部只有一个COM口,机箱后面和并口。

    13、一起的那个九孔输出端(梯形),就是COM1口,COM2口一般要从主板上插针引出。并口是最长的那个梯形口。本实验主要应用九针接口。7.3 MAX232器件简介MAX232是一种双组驱动器/接收器,片内含有一个电容性电压发生器以便在单5V电源供电时提供EIA/TIA-232-E电平。当用单片机和PC机通过串口进行通信,尽管单片机有串行通信的功能,但单片机提供的信号电平和RS232的标准不一样,因此要通过max232这种类似的芯片进行电平转换。7.4友善串口调试助手一个强大而稳定的串口调试助手,支持常用的110-bps波特率及自定义波特率,波特率最高可支持(串口硬件有关),可适应于非标准波特率。支持。

    14、串口自动识别,能设置校验、数据位和停止位,能以ASCII码或十六进制接收或发送任何数据或字符,可以任意设定自动发送周期,并能将接收数据保存成文本文件,能发送任意大小的文本文件。7.5虚拟串口软件Virtual Serial Port Driver 6.9简介该软件安装成功后可以虚拟出多个串口用于实验,虚拟串口都是成对出现使用的,最大限度的方便了用户数的需求。8 程序设计注:本程序采用C语言编写,程序如下:#include #define uint unsigned int#define uchar unsigned charuchar Receive_Buffer101;uchar Buf_I。

    15、ndex = 0;uchar code DSY_CODE=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00;void Delay(uint x)uchar i;while(x-)for(i=0;i=0 & c=9)Receive_BufferBuf_Index=c-0;Receive_BufferBuf_Index+1=-1;Buf_Index = (Buf_Index+1)%100;ES = 1;void EX_INT0() interrupt 0uchar *s = (Receiving From 8051.rn);uchar i = 0;while(si!=0)SBUF = si;while(TI = 0);TI = 0;i。

    展开全文
  • 总是有些人在质疑,说pc机用java无法直接进行串口通信。这篇文章通过完成的实例代码,完美的宣告了一些!!!!

    环境:

    Windows7 64b,jdk64b,myeclipse8.5,rxtx开发包,STC,keil,格西烽火,51单片机,rs232USB转串口线。

    下位机c代码

    #include <reg51.h>
    #include <string.h>
    #define INBUF_LEN 7   //数据长度
    unsigned char inbuf1[INBUF_LEN];
    unsigned char checksum,count3,count=0;
    bit           read_flag=0;
    unsigned char com[]="hello\n";
    void init_serialcomm(void)
    {
      TMOD=0x20;//设置定时器1为模式2
    TH1=0xfd;//装初值设定波特率
    TL1=0xfd;
    TR1=1;//启动定时器
    SM0=0;//串口通信模式设置
    SM1=1;
    }
    void delay_1s()     //1s
    {
       unsigned int i;
        for(i=0;i<45000;i++)
        {
        }
    }


    void delay_1us()     //1s
    {
       unsigned int i;
        for(i=0;i<45;i++)
        {
        }
    }


    //向串口发送一个字符
    void send_char_com(char ch)
    {
        SBUF=ch;
        while(TI==0);
        TI=0;
        delay_1us();
    }


    //向串口发送一个字符串,strlen为该字符串长度
    void send_string_com(char *str,int strlen)
    {
        int k=0;
        do
        {
            send_char_com(*(str + k));
            k++;
        } while(k < strlen);
    }


    //串口接收中断函数
    void serial () interrupt 4 using 3
    {
        if(RI)
        {
            unsigned char ch1;
            RI = 0;


            ch1=SBUF;
            inbuf1[count++]=ch1;
                     if(count==INBUF_LEN)
                 {
                     read_flag=1;  //如果串口接收的数据达到INBUF_LEN个,且校验没错,
    count=0;      //就置位取数标志
                 }


        }
    }


     main()
    {
        init_serialcomm();  //初始化串口
        delay_1s();
    send_string_com("10.7",4);
    return 1;


    }



    上位机java代码

    import gnu.io.CommPort;
    import gnu.io.CommPortIdentifier;
    import gnu.io.SerialPort;


    import java.io.FileDescriptor;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;


    import java.sql.*;


    public class TwoWaySerialComm
    {
        public TwoWaySerialComm()
        {
            super();
        }
        
        void connect ( String portName ) throws Exception
        {
            CommPortIdentifier portIdentifier = CommPortIdentifier.getPortIdentifier(portName);
           
            if ( portIdentifier.isCurrentlyOwned() )
            {
                System.out.println("Error: Port is currently in use");
            }
            else
            {
                CommPort commPort = portIdentifier.open(this.getClass().getName(),2000);
                
                if ( commPort instanceof SerialPort )
                {
                    SerialPort serialPort = (SerialPort) commPort;
                    serialPort.setSerialPortParams(9600,SerialPort.DATABITS_8,SerialPort.STOPBITS_1,SerialPort.PARITY_NONE);
                    
                    InputStream in = serialPort.getInputStream();
                    OutputStream out = serialPort.getOutputStream();
                    
                    (new Thread(new SerialReader(in))).start();
                    (new Thread(new SerialWriter(out))).start();


                }
                else
                {
                    System.out.println("Error: Only serial ports are handled by this example.");
                }
            }     
        }
        
        /** */
        public static class SerialReader implements Runnable 
        {
            InputStream in;
            
            public SerialReader ( InputStream in )
            {
                this.in = in;
            }
            
            public void run ()
            {
                byte[] buffer = new byte[1024];
                int len = -1;
                String com_get="";
                DBInsert DI=new DBInsert();
                try
                {
                    while ( ( len = this.in.read(buffer)) > -1 )
                    {
                    //延时10秒
                    try {
    Thread.sleep(10000);
    } catch (InterruptedException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    //com_get保存串口数据
    com_get=new String(buffer,0,2);
                   
                        System.out.print(com_get);
                   
                    }
                }
                catch ( IOException e )
                {
                    e.printStackTrace();
                }            
            }
        }


        /** */
        public static class SerialWriter implements Runnable 
        {
            OutputStream out;
            
            public SerialWriter ( OutputStream out )
            {
                this.out = out;
            }
            
            public void run ()
            {
                try
                {                
                    int c = 0;
                    while ( ( c = System.in.read()) > -1 )
                    {
                        this.out.write(c);
                    }                
                }
                catch ( IOException e )
                {
                    e.printStackTrace();
                }            
            }
        }
        
        public static void main ( String[] args )
        {
            try
            {
                (new TwoWaySerialComm()).connect("COM3");
            }
            catch ( Exception e )
            {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }

    可能出现的问题

    获取到的是乱码

    可能是没打开单片机的开关按钮

    提示open方法错误

    可能是没关闭格西烽火或者myeclipse,两者不能同时打开。

    提示找不到串口

    检查下你的STC和代码,看是否端口正确。

    展开全文
  • 利用DS18B20 温度传感器设计温度监测模块,到0.1℃,用液晶显示当前温度,然后通过串口调试助手向单片机发送指令。当单片机收到十六进制指令01时,将当前温度值以1s 为间隔传回PC 显示,同时PC 显示Turn on temp...
  • 摘 要 概述了PC机单片机...由于PC机分析能力强、处理速度更快及单片机使用灵活方便等特点,所以一般都将PC机作为上位机,单片机作为下位机,二者通过RS2232或者RS2485接收、发送数据和传送指令。单片机可单独处理数据
  • 【C51单片机PC机控制单片机

    千次阅读 2018-11-15 14:05:38
    PC机向单片机发送命令打开或关闭指定LED灯 ②PC机向单片机发送命令启动或停止蜂鸣器播放音乐 ③PC机向单片机发送字符并显示在1602液晶显示器上,也可发命令删除字符、换行、清除显示 ④在单片机一端,点击矩阵...

    单片机与PC机通过RS232相连,编写一个异步串行口通信程序,实现单片机与PC机上的串口助手之间的通信。具体要求如下:

    ①PC机向单片机发送命令打开或关闭指定LED灯

    ②PC机向单片机发送命令启动或停止蜂鸣器播放音乐

    ③PC机向单片机发送字符并显示在1602液晶显示器上,也可发命令删除字符、换行、清除显示

    ④在单片机一端,点击矩阵按键,并将按键序号发送给PC机


    PROTEUS中设计的单片机系统电路图:

    程序流程:

     辅助软件:

                    1.虚拟串口

                    2.串口调试助手

    程序:

     main.c

    #include <config.h>
    #include<1602.h>
    #include<music.h>
    #include<uart.h>
    #include<keypad4_3.h>
    
    u8 str[]="123456789*0#";
    u8 led=0xff;
    void delay_ms(u16 x)//毫秒延时函数
    {u16 i,j;
    for(i=0;i<x;i++)
        for(j=0;j<115;j++);
    }
    void main (void)
    { 
    	u8 t;
    	u8 key;
    	u8 led=0xff;
    	LCD1602_Init();
    	LCD1602pos(0,0);
      	uart_init(9600);
      	P0=led;
    
      	while(1)
      	{
    		key=KeyScanf4_3();
    		if(key!=12)
    		{
    			SBUF=str[key];
        		while(!TI);//等待发送完
        		TI=0;//清除发送结束标志
    			LCD1602disch(str[key]);
    		}
        	if(RI)//接收上位机数据
        	{	
    			RI=0;//清接收标志
            	t=SBUF;	//接收上位机发来的数据
    			if((t>='a'&&t<='z')||(t>='A'&&t<='Z'))
    			{	
    				if(t=='C'){LCD1602_clear();}
    				if(t=='D'){LCD1602_backspace();}
    				if(t=='H'){LCD1602pos(1,0);}
    				if(t=='S'){PlayMusic();}
    				if(t!='C'&&t!='D'&&t!='H'&&t!='S') {LCD1602disch(t);}
    			}
    			else
    			{
    				t=t-'0';// 获取上位机按键码
    				led=led^(1<<t);//按键对应位取反
    				P0=led;	//更新单片机显示
    				uart_send(led); //发送显示状态给上位机
    			}	
        	}
      	}  
    }
    

    仿真效果:

     1.发送数字5,第6个led亮

    2.发送字符

    3.矩阵按键

     

     

     


     【下载】如需完整的程序以及仿真电路请这里下载

    展开全文
  • CVI串口通讯上位机(PC)接收数据--下位单片机发送数据
  • USB做串口--单片机向PC端传数据

    千次阅读 2018-12-28 20:04:37
    USB数据线一共有四个针,其中两个针是连接数据的作用,另外两个针是充电的电源线包括接地的。 1、红线的作用:电源正极(接线上的标识为:+5V或VCC) ...usb可以直接和单片机的串口usart连接,向PC...
  • 基于c51单片机的数据采集串口发送数据pc的C程序
  • 单片机采用中断控制方式,当中断收到8个数据后,将收到的8个数据以中断的方式发送PC机。如图所示为上位机串口调试界面。 图 上位机串口调试界面  欢迎转载,信息来源维库电子市场网(www.dzsc.com) 来源:ks99
  • 51单片机向PC发送字符 说明 打开串口,任意向单片机发送一字符,单片机向PC端返回一段字符“HELLO”,每发送一次便返回一次。以下直接放代码,有什么地方错误欢迎大家指出讨论,一起进步。 程序部分 老样子,还是...
  • SBUF寄存器:它是两个在物理上独立的接收、发送缓冲器,可同时发送、接收数据,可通过指令对SBUF 的读写来区别是对接收缓冲器的操作还是对发送缓冲器的操作。从而控制外部两条独立的收发信号线RXD(P3.0)、TXD(P...
  • 单片机串口接收数据发送数据程序源代码,我学习单片机时参考过的 ,还不错
  • 51单片机PC机串行通信系统设 51单片机PC机串行通信系统设计
  • 单片机在得到PC机发送的“点名”指令后,开始控制总线,PC机传输数据。传输数据结束后,通知PC机并退出总线控制,PC机再逐个往后发送“点名”指令。根据这种思路,搭建了相应的电路,经过不断的实验、调试和改进,...
  • 【C51单片机PC机控制单片机(仿真)

    千次阅读 2019-08-07 13:04:23
    PC机向单片机发送命令打开或关闭指定LED灯 ②PC机向单片机发送命令启动或停止蜂鸣器播放音乐 ③PC机向单片机发送字符并显示在1602液晶显示器上,也可发命令删除字符、换行、清除显示 ④在单片机一端,点击矩阵...
  • 单片机PC机通过RS232通信,发送数据1接收到的却是EF,不知道什么原因?哪位大侠指点一下
  • 摘 要 概述了PC机单片机...由于PC机分析能力强、处理速度更快及单片机使用灵活方便等特点,所以一般都将PC机作为上位机,单片机作为下位机,二者通过RS2232或者RS2485接收、发送数据和传送指令。单片机可单独处理数据
  • 单片机PC机串口通信的仿真及虚拟串口软件单片机PC机串口通信的仿真及虚拟串口软件单片机PC机串口通信的仿真及虚拟串口软件单片机PC机串口通信的仿真及虚拟串口软件
  • PC机上使用VB编写的串口程序,Proteus仿真状态下,直接运行VB程序后,点击发送按钮即可发送一组数据流到单片机单片机收到后会返回收到的数据。PC发送数据流包括起始数据、地址数据以及真实数据。真实的数据被PC...
  • 主要是51单片机与pc机之间的串口通讯,其程序可由单片机发送数据到pc机,通过串口调试助手可验证是否发送成功。pc机发送数据单片机可由led显示得以验证。其中程序包含着通讯程序、显示程序、键盘扫描程序
  • 51系列单片机 单片机串口通信接收发送数据程序
  • 单片机串口通信的应用,通过串口,我们的个人电脑和单片机系统进行通信。...个人电脑作为上位机,下位机单片机系统发送十六进制或者ASCLL码,单片机 系统接收后,用LED显示接收到的数据上位机发回原样数据
  • 单片机在得到PC机发送的“点名”指令后,开始控制总线,PC机传输数据。传输数据结束后,通知PC机并退出总线控制,PC机再逐个往后发送“点名”指令。根据这种思路,搭建了相应的电路,经过不断的实验、调试和改进,...
  • 实验单片机PC机串口通信
  • 单片机PC机通信

    千次阅读 2017-12-21 21:11:23
    单片机获取和管理传感器的数据,然后通过串口通信将数据发送PC。 利用proteus仿真单片机PC口通信时,需要用到串口调试助手和虚拟串口配置软件。 串口助手用于PC进行数据发送和接收,虚拟串口用于将PC的串口...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,762
精华内容 2,304
关键字:

单片机向pc机发送数据