单片机与PC机usb通信,有几种设计思路?请高手们介绍一下

作者&投稿:氐翠 (若有异议请与网页底部的电邮联系)
基于单片机的多机并行通信设计 即通过单片机与PC机之间完成的并行通信 谁可以告诉我啊~

单片机和PC并行?还是单片机1和单片机2并行,然后单片机2和PC通信(串行)?若是前者,基本无解。若是后者,那么可以把两单片机数据口接在一起,直接通过TTL通信(距离不能太长),然后单片机2和PC串口通信。或者直接单片机1和PC串口通信。因为不知道你的项目究竟是什么要求,只能这么说咯,祝成功~~

我以前写过。我猜你说的用 USB 指的是 USB 转串口之后进行通信,USB是没法直接作为串口使用的。

你需要一个 PL2303 模块,我以前在淘宝上买过也就几块钱一个,线路连接是 RXDTXD,这样硬件就连接完成了。

上位机编写方面,VB提供一个叫 MSComm 的控件,专门做串行通信的,你把她调出来自己看看属性也就知道怎么写了。没什么难度。

希望对你有帮助。

USB转串口CH341
调试程序如下:
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit DI=P3^5;
sbit RW=P3^6;
sbit E=P3^7;
sbit CS1=P3^3;
sbit CS2=P3^4;
sbit RST=P3^2;
uchar code hzXXJC[256] = {
0x00,0xFE,0x01,0x02,0xE0,0x00,0xE6,0x08,0xF0,0x0C,0xE2,0x01,0x00,0xC0,0x3F,0x20,
0x00,0xFF,0x00,0x00,0x1F,0x00,0x7F,0x40,0x4F,0x40,0x7F,0x00,0x06,0x61,0x8C,0x10,
0x00,0x04,0x44,0xE4,0x14,0x0C,0x74,0x84,0x34,0x44,0x04,0x00,0xFE,0x00,0x80,0x40,
0x00,0x08,0x08,0x0A,0x12,0x22,0xC2,0x22,0x12,0x08,0x12,0x14,0xFF,0x16,0x11,0x10,
0x00,0x04,0x04,0x04,0x04,0x04,0xFC,0x04,0x04,0x04,0x04,0x00,0xFE,0x80,0x40,0x20,
0x00,0x20,0x21,0x21,0x21,0x21,0x27,0x21,0x21,0xE1,0x39,0x26,0x23,0x20,0x20,0x00,
0x00,0x04,0x04,0x04,0x04,0x04,0x04,0xFC,0x04,0x04,0x04,0x04,0xFC,0x04,0x04,0x04,
0x00,0x40,0x41,0x41,0x41,0x41,0x41,0x7F,0x40,0x40,0x40,0x40,0x43,0x40,0x40,0x00,
0x00,0x0C,0x90,0xA0,0x80,0xFE,0x81,0xB2,0x88,0x04,0xF0,0x0C,0x02,0xC0,0x3F,0x20,
0x00,0x40,0x4F,0x4A,0x4A,0x4A,0x6A,0x5A,0x4F,0x40,0x7F,0x00,0x07,0x60,0x84,0x08,
0x00,0x0E,0x02,0xF2,0x22,0x22,0x22,0x22,0xFC,0x20,0x20,0x20,0x20,0xF0,0x00,0x00,
0x00,0x00,0x00,0x1F,0x12,0x12,0x12,0x12,0xFF,0x12,0x12,0x12,0x12,0x1F,0x00,0x00,
0x00,0x0E,0x02,0xF2,0x22,0x22,0x22,0x22,0xFC,0x20,0x20,0x20,0x20,0xF0,0x00,0x00,
0x00,0x00,0x00,0x1F,0x12,0x12,0x12,0x12,0xFF,0x12,0x12,0x12,0x12,0x1F,0x00,0x00,
0x00,0x40,0x44,0x4E,0xD8,0x60,0x40,0x40,0xF0,0x58,0x44,0x42,0x00,0xFF,0x00,0x00,
0x00,0x00,0x08,0x08,0x7F,0x08,0x08,0x08,0x7F,0x08,0x08,0x40,0xE8,0x1F,0x04,0x02,
};

uchar code hzdoo[256] = {
0x00,0x00,0xFC,0x02,0x04,0xC0,0x30,0x08,0x24,0x72,0xA0,0x30,0x10,0xD0,0x38,0x10,
0x00,0x00,0x0F,0x08,0x08,0xFF,0x08,0x08,0x04,0x24,0x24,0x24,0x27,0x24,0x24,0x04,
0x00,0x00,0x7E,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x7E,0x00,0xE0,0x18,0x04,0x02,
0x00,0x00,0x1E,0x12,0x12,0x12,0x52,0x72,0x92,0x12,0x12,0x12,0x1F,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0xFC,0x04,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x1C,0x13,0x00,0x13,0x1C,0x10,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x6C,0x6C,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0xE0,0x40,0x40,0x40,0x40,0xFF,0x40,0x40,0x40,0x40,0xE0,0x00,0x00,
0x00,0x00,0x10,0x3F,0x10,0x10,0x10,0x10,0xFF,0x10,0x10,0x10,0x10,0x3F,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0xFE,0x01,0x02,0x00,0x00,0x00,0x00,0xFF,0x00,0x80,0x40,
0x00,0x02,0x22,0x22,0x22,0x23,0x22,0x22,0x22,0x02,0x44,0xCE,0x63,0x21,0x10,0x08,
0x00,0x02,0x32,0x7A,0xA2,0x22,0x32,0x12,0x92,0x52,0x32,0x14,0x04,0xF8,0x04,0x02,
0x00,0x04,0x44,0x44,0x44,0x45,0x44,0x46,0x45,0x44,0x04,0x00,0x20,0x73,0x82,0x02,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x6C,0x6C,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
};
uchar code hzWQD[256] = {
0x00,0x8C,0x90,0x20,0x0E,0x02,0x02,0x32,0x42,0x02,0x3C,0x00,0x80,0x9C,0x06,0x00,
0x00,0x00,0x20,0x21,0x21,0x22,0x24,0x29,0xF2,0x2C,0x22,0x21,0x20,0x20,0x20,0x00,
0x00,0x04,0x06,0x0C,0x30,0xC0,0x00,0x00,0xE0,0x18,0x04,0x02,0xFF,0x80,0x40,0x20,
0x00,0x04,0x04,0x34,0x64,0x87,0x04,0xFF,0x04,0x04,0x04,0x04,0xFF,0x00,0x0C,0x10,
0x00,0x00,0x00,0x00,0x00,0xFE,0x01,0x02,0x00,0x00,0x00,0x00,0xFF,0x00,0x80,0x40,
0x00,0x02,0x22,0x22,0x22,0x23,0x22,0x22,0x22,0x02,0x44,0xCE,0x63,0x21,0x10,0x08,
0x00,0x02,0x32,0x7A,0xA2,0x22,0x32,0x12,0x92,0x52,0x32,0x14,0x04,0xF8,0x04,0x02,
0x00,0x04,0x44,0x44,0x44,0x45,0x44,0x46,0x45,0x44,0x04,0x00,0x20,0x73,0x82,0x02,
0x00,0x00,0xFC,0x02,0x04,0xC0,0x30,0x08,0x24,0x72,0xA0,0x30,0x10,0xD0,0x38,0x10,
0x00,0x00,0x0F,0x08,0x08,0xFF,0x08,0x08,0x04,0x24,0x24,0x24,0x27,0x24,0x24,0x04,
0x00,0x00,0x7E,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x7E,0x00,0xE0,0x18,0x04,0x02,
0x00,0x00,0x1E,0x12,0x12,0x12,0x52,0x72,0x92,0x12,0x12,0x12,0x1F,0x00,0x00,0x00,
0x00,0x08,0x0C,0x18,0x10,0x20,0x40,0x80,0xFF,0x80,0x60,0x10,0x08,0x08,0x04,0x04,
0x00,0x02,0x02,0x12,0x12,0x12,0x12,0x12,0xFF,0x13,0x12,0x12,0x12,0x12,0x02,0x02,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x6C,0x6C,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, };

/* ----------- LCD 驱动部分函数说明-------------*/
void delayy(uint v); /* 延时子函数说明 */
void reset();
void hzXXJCC(); /* 复位子函数说明 */
void lcdinit(); /* LCD初始化子函数说明 */
void clear_disp(); /* 清显示屏子函数说明 */
void dispon_off(uchar on); /* 显示屏开/关子函数说明 */
void wcode(uchar c,uchar cs1,uchar cs2); /* 写命令子函数说明 */
void set_adr(uchar x,uchar y, uchar cs1,uchar cs2); /* 设置显示位置(页址x,
列址y,左区cs1,右区cs2) 子函数说明 */

void set_startline(uchar z); /* 设置显示起始行z子函数说明 */
void wdata(uchar c,uchar cs1,uchar cs2); /* 写显示数据子函数说明 */
void hzXXJC_disp(); /* 显示汉字子函数说明 */
void hzWQD_disp();
void hzdoo_disp();
void hzdee_disp();

void key(void);
void delay();
void delays();
int k,i;
void delay()
{for(i=0;i<30000;i++);}
uchar zdzt;

void main(void)
{delayy(10);
reset(); /* 复位 */
lcdinit(); /* 初始化 */
delayy(10);
hzXXJCC();

{
while(1)
{key();
if(zdzt==0x0c)
{P0=0xff;
hzWQD_disp();} /* 初始化 */
else if(zdzt==0x0a)
{P0=0xfe;
hzdee_disp();
delay();
}
else if(zdzt==0x0b)
{P0=0xfd;
hzdoo_disp();
delay();
}
}
}
}

void key(void)
{if(!(P1&0x01))
{delays();
while(!(P1&0x01));
zdzt=0x0a;
}
else if(!(P1&0x02))
{delays();
while(!(P1&0x02));
zdzt=0x0b;
}
else if(!(P1&0x04));
{delays();
while(!(P1&0x04))
zdzt=0x0c;
}
}

void delays()
{for(k=0;k<1200;k++);}

void delayy(uint v)
{while(v--);}
/* ---------------复位子函数部分--------------*/

void hzXXJCC()
{
P0=0xff;
hzXXJC_disp();
delay();
delay();
key();
if(zdzt==0x0c)
{P0=0xff;
hzWQD_disp();}
else
{delay();
delay();
P0=0xfe;
hzdee_disp();
delay();
P0=0xfd;
hzdoo_disp();}
}

void reset()
{RST=0;
delayy(20);
RST=1;
delayy(20);
}
/* ---------------LCD初始化子函数部分--------------*/
void lcdinit()
{clear_disp(); /* 清显示屏 */
dispon_off(0); /* 关显示 */
dispon_off(1); /* 开显示 */
set_startline(0); /* 设置起始行为第0行 */
}
/* ---------------清显示屏子函数部分--------------*/
void clear_disp()
{uchar i,j,x;
for(i=0;i<8;i++)
{x=i+0xb8;
wcode(x,1,1); /* 设置左右屏页地址 */
wcode(0x40,1,1); /* 设置左右屏初始列地址 */
for(j=0;j<64;j++) /* 每清一位0, 列地址会自动加1 */
wdata(0x00,1,1); /* 向左右屏设置地址处写显示数据0x00,即清显示屏 */
}
}
/* ---------------写命令子函数部分--------------*/
void wcode(uchar c,uchar cs1,uchar cs2)
{CS1=cs1;
CS2=cs2;
DI=0;
RW=0;
P2=c;
E=0;
delayy(10);
E=1;
delayy(10);
E=0;
}
/* ---------------显示屏开/关子函数部分--------------*/
void dispon_off(uchar on)
{on=on+0x3e;
wcode(on,1,1);
}
/* ---------------设置显示位置(页址x列址y)子函数部分--------------*/
void set_adr(uchar x,uchar y, uchar cs1,uchar cs2)
{ x=x+0xb8;y=y+0x40;
wcode(x,cs1,cs2);
wcode(y,cs1,cs2);
}
/* ---------------设置显示起始行z子函数部分--------------*/
void set_startline(uchar z)
{z=z+0xc0;
wcode(z,1,1);
}
/* ---------------写显示数据子函数部分--------------*/
void wdata(uchar c,uchar cs1,uchar cs2)
{CS1=cs1;
CS2=cs2;
DI=1;
RW=0;
P2=c;
E=0;
delayy(10);
E=1;
delayy(10);
E=0;
}
void hzXXJC_disp() /* 显示汉字点阵数组hzdot[]中序号为order的汉字 */
{uchar h,order;
set_adr(6,0,1,1); /* 设置左右区、第4页(汉字上半部)、第0列地址 */
for(order=0;order<4;order++)
{for(h=0;h<16;h++)
{wdata(hzXXJC[order*32+h],1,0); /* 写左区汉字上半部 */
wdata(hzXXJC[order*32+h+128],0,1); /* 写右区汉字上半部 */
}
}
set_adr(7,0,1,1); /* 设置左右区、第5页(汉字下半部)、第0列地址 */
for(order=0;order<4;order++)
{for(h=0;h<16;h++)
{wdata(hzXXJC[order*32+h+16],1,0); /* 写左区汉字下半部 */
wdata(hzXXJC[order*32+h+16+128],0,1); /* 写右区汉字下半部 */
}
}
}

void hzWQD_disp() /* 显示汉字点阵数组hzdot[]中序号为order的汉字 */
{uchar h,order;
set_adr(4,0,1,1); /* 设置左右区、第4页(汉字上半部)、第0列地址 */
for(order=0;order<4;order++)
{for(h=0;h<16;h++)
{wdata(hzWQD[order*32+h],1,0); /* 写左区汉字上半部 */
wdata(hzWQD[order*32+h+128],0,1); /* 写右区汉字上半部 */
}
}
set_adr(5,0,1,1); /* 设置左右区、第5页(汉字下半部)、第0列地址 */
for(order=0;order<4;order++)
{for(h=0;h<16;h++)
{wdata(hzWQD[order*32+h+16],1,0); /* 写左区汉字下半部 */
wdata(hzWQD[order*32+h+16+128],0,1); /* 写右区汉字下半部 */
}
}
}

void hzdoo_disp() /* 显示汉字点阵数组hzdot[]中序号为order的汉字 */
{uchar h,order;
set_adr(4,0,1,1); /* 设置左右区、第4页(汉字上半部)、第0列地址 */
for(order=0;order<4;order++)
{for(h=0;h<16;h++)
{wdata(hzWQD[order*32+h],1,0); /* 写左区汉字上半部 */
wdata(hzdoo[order*32+h+128],0,1); /* 写右区汉字上半部 */
}
}
set_adr(5,0,1,1); /* 设置左右区、第5页(汉字下半部)、第0列地址 */
for(order=0;order<4;order++)
{for(h=0;h<16;h++)
{wdata(hzWQD[order*32+h+16],1,0); /* 写左区汉字下半部 */
wdata(hzdoo[order*32+h+16+128],0,1); /* 写右区汉字下半部 */
}
}
}
void hzdee_disp() /* 显示汉字点阵数组hzdot[]中序号为order的汉字 */
{uchar h,order;
set_adr(4,0,1,1); /* 设置左右区、第4页(汉字上半部)、第0列地址 */
for(order=0;order<4;order++)
{for(h=0;h<16;h++)
{wdata(hzWQD[order*32+h],1,0); /* 写左区汉字上半部 */
wdata(hzdoo[order*32+h],0,1); /* 写右区汉字上半部 */
}
}
set_adr(5,0,1,1); /* 设置左右区、第5页(汉字下半部)、第0列地址 */
for(order=0;order<4;order++)
{for(h=0;h<16;h++)
{wdata(hzWQD[order*32+h+16],1,0); /* 写左区汉字下半部 */
wdata(hzdoo[order*32+h+16],0,1); /* 写右区汉字下半部 */
}
}
}
把程序写入单片机!下串口调试软件和下位机对接!随便发送命令~!如果能正常接收!说明你的单片机和PC机通信成功!

51单片机加上一个MAX3232, 输出一个串口; 再外购一个RS232转USB的东东,可以直接连到PC机上,呵呵,PC机上要安装相应的驱动,不过买的设备会提供的.整个过程非常简单.

转换串口或并口速度都不快!建议直接usb通信!
上位机发起通话,下位机应答!所有的usb通讯都是基于此设计

用USB转串口吧 这个简单 和直接用串口通信时一样的 USB转并口 这个你要是实现了 你就发财了


联想乐phone A520如何把照片倒电脑里
2.手机连接电脑,在手机端显示如下画面,点击选择“打开USB存储设备”按钮,即可实现U盘连接。注意:1. 使用USB连接传输文件时,由于文件传输到手机速度较慢,请您耐心等待。如果要退出USB连接菜单,请先在PC机上停止USB设备。只有当PC上提示可以安全从系统移除时,才能断开手机和PC机的USB连接,否则可能引起...

无法识别的usb设备处理的原因以及解决方法总结
   问题处理:从“控制面板”进入添加和删除硬件的窗口,将所有USB设备都删除,重新安装需要使用的USB设备驱动程序。重新启动电脑,U盘等USB设备插在原来的故障接口上能够正常工作。无法识别的USB设备- 笔记本硬盘故障和移动硬盘,插在前置USB接口,无法识别。 这种情况,很大原因是供电问题。由于USB硬盘在工作的时候也...

无人机内照片怎么导入电脑?
要将无人机内的照片导入电脑,可以按照以下步骤进行操作:连接无人机和电脑:使用无人机附带的USB数据线将无人机与电脑进行连接。确保无人机和电脑都处于开启状态。打开无人机存储:在连接后,无人机通常会被识别为可移动设备或存储设备。在电脑上打开文件资源管理器(Windows)或查看器(Mac),您应该...

51单片机如何与电脑键盘相接,USB的
用 带 USB 接口的 51内核 单片机吧 买个读片子机,把程序烧进去,ok 你知道USB协议有多复杂吗?!还用51来读?要是说在键盘上接一个USB转串口的芯片,然后用51来读串口,这样更可行一些 还不如老老实实用矩阵键盘呢 单片机最小系统板不能直接和PC机USB相连,如果是支持ISP下载的单片机,可以通...

三星P6800如何与电脑连接
如果您想要通过手机与电脑连接传输数据,可以通过手机与Kies软件连接来实现,连接方法请按照如下所述步骤操作:登陆三星官网下载Kies应用软件并安装在您的电脑上。下载链接:http:\/\/www.samsung.com\/cn\/support\/usefulsoftware\/supportUsefulSwMobile.do    步骤二、 关闭USB调试 确保已经...

请问USB和BIOS 是什么意思?
什么是USB USB是“Universal Serial Bus”的缩写,意思是“通用串行总线”。但请注意,这不是一种新的总线标准,而是电脑系统接驳外围设备(如键盘、鼠标、打印机等)的输入\/输出接口标准。现在电脑系统接驳外围设备的接口并无统一的标准,如键盘的插口是圆的、连接打印机要用9针或25针的并行接口、鼠标则要用9针或25针...

如何识别和区分USB2.0接口和USB3.0接口
1、颜色区分法:电脑,可以根据插口的颜色来区分,黑色的就是USB2.0,蓝色的就是USB3.0(一般位于主机的背后,因为USB3.0需要安装驱动)。2、触片法区分法:USB 2.0只有4pin金属触片,而USB 3.0有9pin触片,前面4pin与USB 2.0是一至的,后方的5pin则为USB 3.0专属。3、标识区分法:根据在...

电脑usb3.0和2.0的区别
1、颜色区分法:电脑,可以根据插口的颜色来区分,黑色的就是USB2.0,蓝色的就是USB3.0(一般位于主机的背后,因为USB3.0需要安装驱动)。2、触片法区分法:USB 2.0只有4pin金属触片,而USB 3.0有9pin触片,前面4pin与USB 2.0是一至的,后方的5pin则为USB 3.0专属。3、标识区分法:根据在...

usb网线接口 怎么设置才能使用上网
USB2.0转RJ45网线接口的转接头。在其内是有一小片网卡小片的。实际上就是一个USB接口的外置网卡。主要是供自带集成网卡坏掉的电脑等设备使用。或者是没有集成网卡的设备连接网络使用。USB网卡驱动安装好之后网络连接显示了一个新的本地连接,就可以接网线正常上网了。

这个usb供电给单片机是什么意思,详细介绍下
usb接口本身都带电源功能 除了一对差分信号线,另外两根是电源正和电源负极,像一些小功率的设备就不用再接电源了,直接采用主机的电源即可 像一些小型音箱 移动硬盘 单 片机开发板都可以。现在的USB3.0接口供电能力更强。

淮阴区15841295030: 单片机与PC机的通讯有哪些方式? -
弓艺惠百: 串口,并口,usb,jtag.一般串口都很好通信,因为单片机里有这样的寄存器,只要把数写入这些寄存器然后设置一下,让单片机开始串口通信就行了.当然,PC机上要有串口接收软件才能读到这些数的.

淮阴区15841295030: 如何实现pc通过usb接口与单片机通信? -
弓艺惠百: 1、买一个USB到RS232串口转换接口,2、单片机加一个TTL到RS232电平转换芯片.

淮阴区15841295030: pc机与单片机间如何用usb实现传递信号 -
弓艺惠百: 如果是带USB接口的单片机,则直接用一个简单的接口电路就可以接到PC了.....若是不带USB接口的单片机,则还需要用到一个桥接芯片,通常是利用单片机的USART接口,加上桥接芯片,例如PL2303之类的,就可以接到PC了.

淮阴区15841295030: PC机如何实现与单片机间串行通信 -
弓艺惠百: 有两种方法与PC通信:1,加接一个USB转串口的硬件设备(网上很容易买到),这样既解决了数据线的连接又解决了单片机供电问题,但PC端可能需要安装USB驱动,而且要碰运气,往往因USB驱动问题无法一次成功; 2,通过RS232接口...

淮阴区15841295030: 如何进行单片机与PC机的串口数据读取通信? -
弓艺惠百: 首先硬件要有MAX232芯片做电平转换 或者直接用pl2303做usb转串口. 软件要有一个串口调试工具. 至于程序就是 (1):设置串口相关寄存器 注意波特率设置(2):把数据放在sbuf里面 (3):检查是否发送完毕没完等待 发完了就继续放...

淮阴区15841295030: 单片机与电脑 通过 usb通信 -
弓艺惠百: 比较忙,刚刚看到你的求助,我是对比我之前提的问题,结合你的问题来回答的,不知道有没有符合你的问题.1,关于通讯线,现在USB转RS485的转串口线非常多而且很便宜,没有必要自己去做了,都是成熟的东西,你直接去市场上买一根...

淮阴区15841295030: 单片机通讯协议有哪些 -
弓艺惠百: 1、单片机与其他单片机或芯片级的通讯有:RS232、IIC、SPI、并口(I/O)、DMA(如msp430、ARM); 2、单片机通过电缆与PC或其他设备通讯有:RS232、RS485、USB、CAN、光纤、以太网; 3、单片机远距离传输通讯(超过10米):RS485、CAN、以太网等.

淮阴区15841295030: 单片机与PC通讯有什么方式? -
弓艺惠百: 电脑和单片机除了串口,再有就是网络通讯方式.但是需要有网口接口芯片,还要编写支持TCP/IP协议的程序.可是用传统的51单片机却很难实现.你可以用STM32单片机组成支持互联网通信的系统,就可以达到1Mbps以上.除此,再无其它方法.

淮阴区15841295030: 请问如何实现带USB接口的单片机与PC之间的USB通信.对,直接USB对USB,不需要借助什么USB转串口工具. -
弓艺惠百: VB,VC,C#,都可以Windows,微软对几乎每种语言对USB都进行了支持, 如果单片机端提供了PC上调用USB的接口驱动函数,就可以 通过Handle USB进行通讯,PC软件调用驱动函数就可以实现通讯,如果没有这个函数,也可以,这就很麻烦,相当于你跟厂商开发一个USBPC驱动,Windows驱动设备开发上面微软详细讲解了,难度也很大,做一般项目应用就没有必要了,直接选用,有支持函数的USB单片机.开发环境,常见的MFC,VB开发环境都可以开发

淮阴区15841295030: 单片机和PC机可以通过哪些方式进行通信?(新人)
弓艺惠百: 网口,串口,USB.这显然需要带这些功能的单片机,如果单片机没这个功能.外部加转换芯片也可以实现.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网