STC15单片机通讯多机通讯怎样避免多个从机同时回复主机数据

查看: 11501|回复: 12
如何实现多机通讯
主题帖子精华
初级会员, 积分 75, 距离下一级还需 125 积分
在线时间0 小时
nrf24L01 &如何实现多机通讯,我知道有很多歌通道 ,但是不知道接受主机的那个怎么识别是哪台从机发来的讯号,或者说是哪个通道发来的;还有从机的程序是不是每个使能的通道是不一样的
主题帖子精华
金钱115360
在线时间869 小时
拜读下chinafox坛友的大作吧:
我是开源电子网站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺:
微信公众平台:正点原子& &
主题帖子精华
初级会员, 积分 75, 距离下一级还需 125 积分
在线时间0 小时
回复【2楼】正点原子:
---------------------------------
已拜读,添脚中
主题帖子精华
新手上路, 积分 45, 距离下一级还需 5 积分
在线时间0 小时
回复【2楼】正点原子:
---------------------------------
可是教程中没有接受信号之后识别接受通道的语句,也就是不管哪个通道的都行,我想弄一个接受端,2个发射端,这样接收端就得识别接收通道来辨别是哪个板子发射过来的信号啊,手册说是读状态寄存器的1—3位,可是代码不会写,求指点
主题帖子精华
金钱115360
在线时间869 小时
回复【4楼】HYK:
---------------------------------
字节写协议之类的吧.
人是活的,东西是死的.
看你能不能用活了.
我是开源电子网站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺:
微信公众平台:正点原子& &
主题帖子精华
新手上路, 积分 45, 距离下一级还需 5 积分
在线时间0 小时
回复【5楼】正点原子:
---------------------------------
原子哥,NRF24L01接收数据后接收端识别弄好了,可以分别识别5个发射端发射的数据,但是发射端一多了,接收端的彩屏只能显示2个通道来的数据,是不是无线信号强度大的抢占通道能力强啊,这样是不是要设置5个发射端的发射时序问题啊,一个发完了下一个发,或是这两个发完了下两个发??求原子哥给个思路……
主题帖子精华
金钱115360
在线时间869 小时
回复【6楼】HYK:
---------------------------------
NRF组网(比如几十个),这就得你定义一个很好的协议,我觉得是一主多从,这样比较好做。
假设30个机器。其中1台作为主机,其他29个从机。
我采用主机地址查询的方式,29个从机每个从机地址都不一样,而主机知道所有从机的地址,每次就通过地址查询从机,只有地址符合的从机,才做出应答,这样主机就可以和任意一个从机通信。而且不受其他从机干扰。
优点就是:理论上可以组无限个节点。
缺点就是:速度比较慢,必须一个个查询。
我是开源电子网站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺:
微信公众平台:正点原子& &
主题帖子精华
高级会员, 积分 589, 距离下一级还需 411 积分
在线时间32 小时
主题帖子精华
初级会员, 积分 83, 距离下一级还需 117 积分
在线时间0 小时
回复【7楼】正点原子:
---------------------------------
请问这个在NRF24L01_RX_Mode();和NRF24L01_TX_Mode();需要怎样设置呢
主题帖子精华
金牌会员, 积分 1181, 距离下一级还需 1819 积分
在线时间7 小时
回复【楼主位】sword:
---------------------------------
http://user.//infocenter#!app=2&via=QZ.HashRefresh&pos=
QQ有好的资料记得发给我哦。。。
主题帖子精华
初级会员, 积分 152, 距离下一级还需 48 积分
在线时间0 小时
您好,你用过无线吗,最新推荐WLK01L39无线应用首选-隔墙效果极佳
样品75折体验:/item.htm?id=
选购3个WLK01L39以上即可免费获取测试板:/item.htm?id=批量更优惠
WLK01L39开发包资料百度网盘下载连接:/s/1Go9YI
无线数据传输方面的有空看看,欢迎交流
基本工作原理:
模块平时处于接收状态,一旦收到数据,就把收到的数据通过UART输出,这时你可以用单片机来个中断接收函数啊,把数据读取存储,
发送数据的时候把要发的数据通过UART送给模块,他就自动发送,发送完毕,自动切换到接收模式
====================================================================
例如跳频多点通讯,
====================================================================
例如
当主机为WLK01L39模块,且主机节点A频率值为470MHZ(470000转换为16进制为:0x07&0x2B&0xF0),
&
从机B频率参数:471MHZ(0x07&0x2f&0xD8)&,从机C频率参数:472MHZ(0x07&0x33&0xC0)
主机可以通过切换频率参数来分别和B&C节点通讯,方法如下
&
第一步-&&设置电平SETA=1&SETB=1&进入参数设置模式
第二步-&&0xFF&0x56&0xAE&0x35&0xA9&0x55&0x9F&0x00&0x03&0x07&0x2f&0xD8
第三步-&&等待返回0x24&0x24&0x24&0x07&0x2f&0xD8&后再设置电平SETA=0&SETB=0&进入正常收发模式
第四步-&&输入要传的数据即可将数据传输给B节点
&
&
第五步-&&设置电平SETA=1&SETB=1&进入参数设置模式
第六步-&&0xFF&0x56&0xAE&0x35&0xA9&0x55&0x9F&0x00&0x03&0x07&0x33&0xC0
第七步-&&等待返回0x24&0x24&0x24&0x07&0x33&0xC0后再设置电平SETA=0&SETB=0&进入正常收发模式
第八步-&&输入要传的数据即可将数据传输给C节点
&
更多节点以此类推即可
&
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
例如变址多点通讯,
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
&
例如
当主机为WLK01L39模块,
主机A本机地址1:0x01,本机地址2:0x01,
从机B本机地址1:0x02&,本机地址2:0x01&,
从机C本机地址1:0x03,本机地址2:0x01&,&&
主机可以通过切换目标地址参数来分别和B&C节点通讯,因为在频率一样的前提下
只有主机的目标地址和从机的本机地址一致时,对应从机才能与其建立通讯,并接收数据方法如下
&
第一步-&&设置电平SETA=1&SETB=1&进入参数设置模式
第二步-&&0xFF&0x56&0xAE&0x35&0xA9&0x55&0x8E&0x00&0x01&0x02&
第三步-&&等待返回0x24&0x24&0x24&&0x02&后再&设置电平SETA=0&SETB=0&进入正常收发模式
第四步-&&输入要传的数据即可将数据传输给B节点
&
&
第五步-&&设置电平SETA=1&SETB=1&进入参数设置模式
第六步-&&0xFF&0x56&0xAE&0x35&0xA9&0x55&0x8E&0x00&0x01&0x03
第七步-&&等待返回0x24&0x24&0x24&&0x03&后再设置电平SETA=0&SETB=0&进入正常收发模式
第八步-&&输入要传的数据即可将数据传输给C节点
&
更多节点以此类推即可
&
###################################################################
多点通讯还有一种最简单的方式,就是点名通讯
###################################################################
1.主机和从机的参数都完全一样
2.都处于正常收发模式
3.当主机A发0x01(该指令可自定义),
&&当从机B和从机C都收到0x01,
&&从机B视0x01为上传数据命令,立刻发射要上传数据,然后主机A会收到B上传数据,而从机C视0x01为无效指令,不发送数据
&&当主机A发0x02(该指令可自定义),
&&当从机B和从机C都收到0x01,
&&从机C视0x02为上传数据指令,立刻发射要上传数据,然后主机A会收到C上传数据,而从机B视0x02为无效指令,不发送数据
更多节点以此类推即可
------------------
NRF905&RF903&CC1100&CC2500&CC1020&NRF2401&NRF24L01&无线数传芯片/模块性能汇总及应用指南
你好,我们是无线制造供应商,欢迎交流
QQ:&&&&MSN:&
PHONE:&&&陈工
RFinchina 团队欢迎无线方面的技术交流 QQ
主题帖子精华
中级会员, 积分 233, 距离下一级还需 267 积分
在线时间9 小时
主题帖子精华
中级会员, 积分 216, 距离下一级还需 284 积分
在线时间60 小时
前辈做出来没?如果用多通道的话怎么发送给不同的通道不同的数据,如果采用原子老大的方法的话要怎么判断接收端是否在线呢?
学习学习。。
Powered by后使用快捷导航没有帐号?
来自ValentinRuhry的创意,这哥们用整整500
单片机多机通讯(一个主机三个从机 基于RS485)
主从机通讯:主从机之间的通讯协议
& && && && && && & 从机负责:检测周围环境温度,并在1602液晶显示器上显示;温度上下限报警,利用蜂鸣器,LED等,并且在1602上& && && && && && && && && && && && &&&要有所显示;温度上下限要具备断电可存储的功能;
& && && && && && && && && && && && & 显示时间 日期,在1602液晶显示器上显示,即时钟模块。
& && && && && && && && && && && && & 具有更改温度上下限 时间 日期 的功能,并具有相应的界面 可按键切换
& && && && && && && && && && && && & 显示接收和发送次数
& && && && && && &主机负责:发送读取温度的命令给从机,从机返回相应数据,在12864液晶上显示
17:16 上传
点击文件名下载附件
下载积分: 下载币 -5
89.51 KB, 下载次数: 109, 下载积分: 下载币 -5
wb11 发表于
注意有效回复& && && && && &
分享文件内容截图方便大家下载
ozhaojie 发表于
分享文件内容截图方便大家下载
好的 初次上传文件 以后会注意的
学习学习,试着去做一下
学习学习,试着去做一下
学习学习,试着去做一下
分享文件内容截图方便大家下载
谢谢楼主提供的东西,试用了,很好用唉
Copyright &
Powered by我写的一个实现单片机与PC机多机通讯的程序 串口通信 - 单片机/MCU论坛 -
中国电子技术论坛 -
最好最受欢迎电子论坛!
后使用快捷导航没有帐号?
我写的一个实现单片机与PC机多机通讯的程序 串口通信
16:57:45  
15754&查看
& & 下面是我写的一个实现多个下位机(单片机)与一个上位机(PC机)的一主多从串口通讯程序,用的STC89C52RC,定时器2做串口通信波特率发生器。
& &&&实现功能是这样的:
& &&&用调试助手向单片机发送一个数据包。
& &&&通讯协议是这样的:
& && &数据包的格式如下所示(共10个字节组成):
0x2A,0xEB,0x8D,地址码,指令码,数据长度码,数据码,数据码,校验码,0xAD&&
前面三个字节为帧头,即开始符。
地址码: 欲传送的目的地址,即选定哪一个单片机。
指令码:向单片机发送的指令
数据长度码: 用于指示后面有效数据的个数
数据码:传送的数据,配合指令码的纯数据。
校验码: 累加和校验,对地址码,指令码,数据长度码,数据码进行累加,用来检验数据的完整性和正确性。
0xAD : 帧尾,即结束符。
& & 本程序实现功能是这样的:
& & 用调试助手向单片机发送一个数据包,单片机收到后对数据解析,再回传指定的数据。
& & 例如发送:2a eb 8d 01 03 01 01 06 ad
指令码为01,单片机接收到后解析,回传0xce 0x7b 0x11 0xed。其中前两个字节为开始符,最后一个字节为结束符。同理,若收到的指令码为02,回传0xce 0x7b 0x12 0xed。以此模拟控制单片机操作。
若接收错误,即累加校验码不等于单片机实际计算的累加和,回传0xce 0x7b 0x02 0xed,提示接收错误,要求PC重发数据(模拟,需要上位机软件配合才行)。
单片机开机初始化后即向PC发送一个数据0xce 0x7b 0x00 0xed,用于指示单片机与PC通信已连接。
下面是程序:
#define ID 0x01 //单片机地址
uint8 rec_& &//串口通信接收数据
uint8 state_flag=0;&&//通信协议解析状态标志,初始化为0
uint8 retval=0;&&//通信协议解析函数返回值,初始化为0
uint8&&//指令码
uint8 Data[2];&&//数据码
uint8 data_&&//数据长度码
程序大体思想是:
& & 首先定义了几个全局变量,接收到数据后,串口中断子程序中用变量rec_data存储一个字节的数据,随后对数据进行解析:首先判断数据包的完整性,正确性,然后提取指令码,数据码等数据,存放起来用于主程序处理。
& & 协议解析过程中,使用一个变量state_flag的全局变量作为协议解析状态标志,用于确定当前字节处于一帧数据中的那个部位,同时在接收过程中自动对接收数据进行校验和处理,在数据包接收完的同时也进行了校验的比较。因此当帧尾结束符接收到的时候,则表示一帧数据已经接收完毕,并且也通过了校验,关键数据也保存到了缓冲区(cmd和Data[])中。主程序即可通过查询retval的标志位来进行协议的解析处理。如果retval=1;& &//错误标志,数据包传送不正确。如果retval=2;& &//接收成功标志,数据包传送成功。
& & 接收过程中,只要哪一步收到的数据不是预期值,则直接将状态标志复位,用于下一帧数据的判断,避免状态自锁。
& & 以下是程序:
void PortInit();& && && && && & //各端口初始化
void TimerInit();& && &&&//定时器初始化
void UsartInit();& && &&&//串口初始化
void usart_cmd_scan();& && &&&//串口命令扫描
void Data_analysis();& &//通信协议解析函数
void Send(uint8 sendcmd);&&//数据发送函数
/*--------------------------------& && &&&串口中断服务子程序 ------------------------------------*/
void ser() interrupt 4
& &rec_data=SBUF;& &//读取接收到的数据
& &Data_analysis();//数据解析&&
* 函数名:Data_analysis
* 描&&述:通信协议解析函数
* 输&&入:无
* 输&&出:无
* 备&&注:解析串口接收到的数据
/*--------------------------------& && &&&多机通信协议格式 ------------------------------------*/
/*&&数据包的格式如下所示(共10个字节组成): */
/*&&0x2A,0xEB,0x8D,地址码,指令码,数据长度码,数据码,数据码,校验码,0xAD&&*/
void Data_analysis()
& &static uchar recdata_sum=0;&&//存放累加和
& &static uchar lencnt=0;&&//数据长度计数器
& &switch (state_flag)
& && &&&case 0:
& && && & {
& && && && & if(rec_data == 0x2A)& &&&// 是否帧头第一个数据
& && && && && &state_flag = 1;
& && && && & else
& && && && && &state_flag = 0;& & // 标志复位
& && && && && && &
& && && & }
& && &&&case 1:
& && && & {
& && && && & if(rec_data == 0xEB)& &&&// 是否帧头第二个数据
& && && && && &state_flag = 2;
& && && && & else
& && && && && &state_flag = 0;& & // 标志复位
& && && && &
& && && & }
& && &&&case 2:
& && && & {
& && && && & if(rec_data == 0x8D)& &&&// 是否帧头第三个数据
& && && && && &state_flag = 3;
& && && && & else
& && && && && &state_flag = 0;& & // 标志复位
& && && && &
& && && & }
& && &&&case 3:
& && && & {
& && && && & if(rec_data == ID)& & // 判断目的地址是否正确
& && && && && &{
& && && && && && &state_flag = 4;
& && && && && && &recdata_sum=rec_& &//开始累加
& && && && && &}& &
& && && && & else
& && && && && &state_flag = 0;& &// 标志复位
& && && && &
& && && & }
& && &&&case 4:
& && && & {
& && && && & state_flag = 5;
& && && && & cmd=rec_&&//指令码存储
& && && && & recdata_sum+=rec_&&//累加
& && && && &
& && && & }& && &&&
& && &&&case 5:
& && && & {
& && && && & lencnt = 0;&&//数据长度计数器清零
& && && && & data_count=rec_&&//数据长度码存储
& && && && & recdata_sum+=rec_&&//累加
& && && && & if (data_count!=0)&&//后面有数据码
& && && && && &state_flag=6;
& && && && & else
& && && && && &state_flag=8;
& && && && &
& && && & }
& && &&&case 6:
& && &&&case 7:
& && && & {
& && && && &&&Data[lencnt++]=rec_&&//数据码保存
& && && && &&&recdata_sum+=rec_& &//累加
& && && && &&&if(lencnt==data_count)
& && && && &&&{
& && && && && && && && && && && && && && &state_flag=8;
& && && && && && && && && && && && && & lencnt = 0;& && &&&
& && && && && && && && &&&}&&
& && && && && && && && && && &&&
& && && && &&&else
& && && && && & state_flag=7;
& && && && &&&
& && && & }
& && &&&case 8:
& && && & {
& && && && & if(recdata_sum==rec_data)& &//数据校验,判断累加和是否相等
& && && && && &state_flag=9;
& && && && & else
& && && && && &{
& && && && && && &retval=1;& &//置错误标志,数据包传送不正确。
& && && && && && &state_flag=0;& &
& && && && && &}
& && && && && && && && & recdata_sum=0;//累加和清零
& && && && &
& && && & }
& && &&&case 9:
& && && & {
& && && && & if (rec_data==0xAD)
& && && && && &{
& && && && && && && && && && && && && && & retval=2;& &//置接收成功标志,数据包传送成功。
& && && && && && && && && && && && && & state_flag=0;
& && && && && && && && && &}
& && && && & else
& && && && && &state_flag=0;
& && && && &
& && && & }
//主程序 , 不断扫描串口接收到的命令
void main()
& && &&&PortInit();& && && && && & //各端口初始化
& && &&&TimerInit();& && &&&//定时器初始化
& && &&&UsartInit();& && &&&//串口初始化& && && && && && && && && && && &&&
& && &&&Send(0xce);
& && &&&Send(0x7b);
& && &&&Send(0x00);
& && &&&Send(0xed);
& && &&&while(1)
& && && && && & usart_cmd_scan();& && &&&//串口命令扫描
& && &&&}& && &&&
* 函数名:usart_cmd_scan
* 描&&述:串口命令扫描
* 输&&入:无
* 输&&出:无
* 备&&注:扫描PC通过串口发送的命令
void usart_cmd_scan()
& && &&&& &//下位机向PC发送的命令码
& && && &&&switch (retval)
& && &&&case 1:& && &//数据发送错误,请求PC重发
& && && & {
& && && && & sendcmd=2;&&//向PC发送的重发数据命令,PC识别后向下位机重发数据包。
& && && && & Send(0xce);
& && && && && && && && & Send(0x7b);
& && && && && && && && & Send(sendcmd);
& && && && && && && && & Send(0xed);&&//向PC发送命令
& && && && && && && && & retval=0;& &//标志清零,防止重复扫描,重复执行。&&
& && && && && && && && &
& && && & }
& && &&&case 2:& && &//数据发送成功,执行命令
& && && & {
& && && && & switch (cmd)& & //命令解码
& && && && && && && && & {
& && && && && && && && && && && &case 0x01:
& && && && && && && && && && &&&{
& && && && && && && && && && && && && & Send(0xce);
& && && && && && && && && && && && && & Send(0x7b);
& && && && && && && && && && && && && & Send(0x11);
& && && && && && && && && && && && && & Send(0xed);
& && && && && && && && && && && && && & cmd=0x00;
& && && && && && && && && && && && && &
& && && && && && && && && && &&&}
& && && && && && && && && && &&&case 0x02:
& && && && && && && && && && &&&{
& && && && && && && && && && && && && & Send(0xce);
& && && && && && && && && && && && && & Send(0x7b);
& && && && && && && && && && && && && & Send(0x12);
& && && && && && && && && && && && && & Send(0xed);
& && && && && && && && && && && && && & cmd=0x00;
& && && && && && && && && && && && && &
& && && && && && && && && && &&&}
& && && && && && && && && && &&&case 0x03:
& && && && && && && && && && &&&{
& && && && && && && && && && && && && & Send(0xce);
& && && && && && && && && && && && && & Send(0x7b);
& && && && && && && && && && && && && & Send(0x13);
& && && && && && && && && && && && && & Send(0xed);
& && && && && && && && && && && && && & cmd=0x00;
& && && && && && && && && && && && && &
& && && && && && && && && && &&&}& && && && && &&&
& && && && && && && && & }
& && && && &}
& && && && && && &retval=0;& &//标志清零,防止重复扫描,重复执行。
* 函数名:Send
* 描&&述:串口数据发送函数
* 输&&入:sendcmd - 待发送的数据
* 输&&出:无
* 备&&注:
void Send(uint8 sendcmd)
& &ES=0;&&//关闭串口
& &SBUF=&&//发送数据,向PC发送。
& &while(!TI);
& &TI=0;&&//发送完成,TI清零
& &ES=1;&&//开串口
以上是我写的这个程序,希望大家指点一下。
程序运行整体可以,但是有个问题,也希望大神们能帮忙看一下什么问题
每次在单片机关机后,再重新上电后,发送都没反应,只有手动按下开发板的复位键后才能正常通信,当再次断电上电后,又不行了,又得按复位键才正常。按说开发板上电就复位了呀,为什么还要手动复位才行?什么的问题?你们试一下这个程序有这个问题吗?
& & 还望大神们帮忙指点啊!
11:31:40  
贴一下具体的复位电路看看 是不是元件取值不合适 脉冲宽度不够
11:18:18  
PCB在线计价下单
板子大小:
板子数量:
PCB 在线计价
大哥,你这个可以实现pc对多个单片机吗?我的点对点可以,一对多就不可以,希望指点,谢谢!急啊!
高级工程师
08:33:53  
谢谢楼主分享好资料,先收藏了,方便学习交流,我正在收集这方面资料。
13:59:56  
楼主厉害了啊,我自己写一个点对点的,没成功,用的RS-485总线,我就是想不明白,请楼主指点指点
12:25:11  
好好看看。。。。。。。。。。。。。
13:46:54  
学习学习很不错的分享
20:02:54  
刚好用到这个,,谢谢楼主,好人灬灬灬灬灬灬灬灬灬灬灬灬
22:26:41  
学习学习很不错的分享
09:00:01  
好东西,刚好需要,学习一下
10:52:46  
我不会告诉你,如果知道了CAN就不用这么麻烦了,亦或者你看看MODBUS协议就知道了。
等待验证会员
06:34:32  
初始化之后延时再发送试试
18:28:06  
楼主很强啊,谢谢分享
23:42:00  
可以的,很棒
10:07:46  
复位电路可能有问题
11:36:13  
谢谢 分享!!!!!
13:38:46  
13:39:34  
等待验证会员
15:27:59  
LZ 我试了一下&&助手上没有显示单片机回复的数据啊
16:01:13  
Powered by
供应链服务
商务及广告合作
Jeffery Guo
关注我们的微信
供应链服务 PCB/IC/PCBA
下载发烧友APP
版权所有 (C) 深圳华强聚丰电子科技有限公司2017年6月 VC/MFC大版内专家分月排行榜第二2017年5月 VC/MFC大版内专家分月排行榜第二2017年1月 VC/MFC大版内专家分月排行榜第二2016年11月 VC/MFC大版内专家分月排行榜第二2016年4月 VC/MFC大版内专家分月排行榜第二2014年11月 VC/MFC大版内专家分月排行榜第二2014年1月 VC/MFC大版内专家分月排行榜第二2013年10月 VC/MFC大版内专家分月排行榜第二2013年9月 VC/MFC大版内专家分月排行榜第二2013年6月 VC/MFC大版内专家分月排行榜第二2013年4月 VC/MFC大版内专家分月排行榜第二2012年6月 VC/MFC大版内专家分月排行榜第二
2017年9月 VC/MFC大版内专家分月排行榜第三2017年8月 VC/MFC大版内专家分月排行榜第三2017年4月 VC/MFC大版内专家分月排行榜第三2016年12月 VC/MFC大版内专家分月排行榜第三2016年10月 VC/MFC大版内专家分月排行榜第三2016年2月 VC/MFC大版内专家分月排行榜第三2015年10月 VC/MFC大版内专家分月排行榜第三2015年7月 VC/MFC大版内专家分月排行榜第三2012年10月 VC/MFC大版内专家分月排行榜第三
2017年6月 VC/MFC大版内专家分月排行榜第二2017年5月 VC/MFC大版内专家分月排行榜第二2017年1月 VC/MFC大版内专家分月排行榜第二2016年11月 VC/MFC大版内专家分月排行榜第二2016年4月 VC/MFC大版内专家分月排行榜第二2014年11月 VC/MFC大版内专家分月排行榜第二2014年1月 VC/MFC大版内专家分月排行榜第二2013年10月 VC/MFC大版内专家分月排行榜第二2013年9月 VC/MFC大版内专家分月排行榜第二2013年6月 VC/MFC大版内专家分月排行榜第二2013年4月 VC/MFC大版内专家分月排行榜第二2012年6月 VC/MFC大版内专家分月排行榜第二
2017年9月 VC/MFC大版内专家分月排行榜第三2017年8月 VC/MFC大版内专家分月排行榜第三2017年4月 VC/MFC大版内专家分月排行榜第三2016年12月 VC/MFC大版内专家分月排行榜第三2016年10月 VC/MFC大版内专家分月排行榜第三2016年2月 VC/MFC大版内专家分月排行榜第三2015年10月 VC/MFC大版内专家分月排行榜第三2015年7月 VC/MFC大版内专家分月排行榜第三2012年10月 VC/MFC大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。}

我要回帖

更多关于 单片机通讯方式 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信