CAN通讯的优点在此就不多说了,10公里,5Kb/s的速度是能保证的。第一步:硬件环境的建立。这里采用的是SJA1000作为总线控制器,CTM8251模块作为总线驱动器。MCU采用的是MEGA16:利用I/O口模拟数据总线,当然也可以使用有总线的MCU:MCS-51,MEGA8515等。原理图如下:第二步:SJA1000的控制首先阅读下SJA1000的手册,基本了解下SJA1000的结构,主要是寄存器方面的。还要了解下CAN总线方面的东西:BasicCAN,Peli CAN,远程帧,数据帧等等……SJA1000工作之前需要配置一下,才能正常工作,没有经过配置的SJA1000回拉坏总线的:组成网络的时候,如果其中有的SJA1000没有正确配置,这个设备会干扰总线,使其它设备的数据发送不出去。怎么才能控制SJA1000呢,请看下面的SJA1000读写的时序图:写的时序根据时序要求,可以利用I/O口模拟总线了://**************************读SJA1000*************************//uint Read_SJA1000(uint address){uchar data;asm("nop");ALE_off;WR_on;RD_on;CAN_cs_on;DDRA=0xff; //数据口为输出PORTA=address; //输出数据的地址asm("nop");//delay5us(1);ALE_on;asm("nop");//delay5us(1);//DDRA=0xff; //数据口为输出PORTA=address; //输出数据的地址 //再次输出地址,确保一致。asm("nop");//delay5us(1);ALE_off;//delay5us(1);CAN_cs_off;RD_off;asm("nop");//delay5us(2);asm("nop");DDRA=0x00; //数据口为输入PORTA=0xff; //上拉asm("nop");data=PINA; //获得数据asm("nop");//delay5us(1);RD_on;CAN_cs_on;asm("nop");//delay5us(2);//dog();return data;}//**************************写SJA10000*************************//void Write_SJA1000(uint address,uint data){ asm("nop");//uint temp1,temp2;DDRA=0xff; //数据口为输出PORTA=address; //输出数据的地址CAN_cs_on;ALE_off;WR_on;RD_on;asm("nop");//delay5us(1);ALE_on;asm("nop");//delay5us(1);//DDRA=0xff; //数据口为输出PORTA=address; //输出数据的地址 再次输出地址,确保数据准确asm("nop");//delay5us(1);ALE_off;//delay5us(1);CAN_cs_off;WR_off;asm("nop");//delay5us(1);asm("nop");//DDRA=0xff;PORTA=data; //输出数据asm("nop");//delay5us(2);WR_on;PORTA=data; //再次输出数据,取保一致CAN_cs_on;asm("nop");//delay5us(2);asm("nop");//dog();}现在可以读写SJA1000了。配置SJA1000需要使SJA1000进入复位模式,然后对一些寄存器写入数据。在这里,CAN使用Pelican模式,速率为5K,双滤波工作,//*************************CAN复位初始化********************//void CAN_Init(void){ uchar i_temp=0,j_temp=0;CLI();//Read_SJA1000(CAN_IR); //读中断寄存器,清除中断位Write_SJA1000(CAN_MOD,0x01);while(!(Read_SJA1000(CAN_MOD)&0x01))//保证进入复位模式,bit0.0不为1,再写CAN_MOD{Write_SJA1000(CAN_MOD,0x01);dog();}Write_SJA1000(CAN_CDR,0xc8); //配置时钟分频寄存器-Pelican,CBP=1,//关闭TX1中断与时钟输出Write_SJA1000(CAN_AMR0,0xff); //配置验收屏蔽AMR0=0FFHWrite_SJA1000(CAN_AMR1,0x00); //配置验收屏蔽AMR1=000HWrite_SJA1000(CAN_AMR2,0xff); //配置验收屏蔽AMR2=0FFHWrite_SJA1000(CAN_AMR3,0x00); //配置验收屏蔽AMR3=000HWrite_SJA1000(CAN_ACR1,0x00); //配置验收代码ACR1=0:广播Write_SJA1000(CAN_ACR3,addr); //配置验收代码ACR3=地址Write_SJA1000(CAN_BTR0,0x7f); //配置总线定时--5kbpsWrite_SJA1000(CAN_BTR1,0xff);Write_SJA1000(CAN_OCR,0x1a); //配置输出控制Write_SJA1000(CAN_EWLR,0xff); //配置错误报警限制为255do{Write_SJA1000(CAN_MOD,0x00); //进入工作模式双滤波dog();}while((Read_SJA1000(CAN_MOD))&0x01); // 确认复位标志是否被删除Write_SJA1000(CAN_TXB+4,ID3); //配置发送缓冲区的ID3-Write_SJA1000(CAN_IER,0x07); //配置SJA10000中断-错误报警/发送/接收中断SEI();}在这之前,需要获取设备的地址,就是读取拨码开关各个脚的电平。需要注意的是,SJA1000使用的是双滤波模式,响应地址有:广播的:0x00,还有自己的地址:0x**。为什么要这么做呢,一个系统中,主机的地址一般是0X00,从机地址从0X01开始,这里面如果有两个从机的地址一样,就很可能产生一些混乱。从机一旦多了起来,查找地址相同的设备就有些麻烦了。在程序的初始化的时候,进行SJA1000的配置。第三部:工作程序接下来,做的工作就是CAN试发送,别小看这个试发送,这可是解决地址重复的问题的哦,还能检测CAN网络是否正常。//****************CAN第一次发送 通讯地址测试2e*****************//void CAN_first_send(void){ //uchar add_temp=0;uchar a_temp=0;uchar SR_temp;asm("nop"); //延时NET_LED_on; //打开网络灯do{a_temp=Read_SJA1000(CAN_SR);//读CAN_SR,直到SR.2=1:CPU可以发送数据dog();}while(!(a_temp&0x04))CLI(); //关CAN中断,即总中断Write_SJA1000(CAN_TXB+0,0xc0); //发送远程帧0xc0Write_SJA1000(CAN_TXB+1,0x00); //发送转接器地址Write_SJA1000(CAN_TXB+2,addr); //发送传感器地址Write_SJA1000(CAN_TXB+3,0x2e); //发送命令码0x2eWrite_SJA1000(CAN_TXB+4,ID3); //发送ID3Write_SJA1000(CAN_CMR,0x01); //启动发送,//网络故障错误在中断中处理,短接H、L,按复位,先亮绿灯,后黄灯亮asm("nop");//SEI();}SJA1000的中断引脚接到MEGA16的INT1上,需要在程序初始化的时候,配置一些INT1,使MCU能响应SJA1000的中断。数据发送前,点亮网络指示灯,什么时候熄灭它呢,在发送中断中熄灭它。下面看看MCU对SJA1000中断的一些处理:在这里只处理:接收中断、发送中断、总线关闭中断。#pragma interrupt_handler can_int:3void can_int(void){asm("nop");CAN_IR_temp=Read_SJA1000(CAN_IR); //读取中断寄存器if(CAN_IR_temp&0x01) //接收中断{Get_RXB_temp();if(RxBuffer[0]==0x80) //地址测试数据帧{reload(); //数据帧中有和自己相同的地址}if(RxBuffer[0]==0xc0) // 远程帧则释放接收缓冲区{type=RxBuffer[3]; //读命令码//处理命令码if(type==0x30){ if(type==0x34){CAN_now_value_send();type=0;} //传瞬时值数据if (type==0x27){reload(); type=0;}//装置复位if(type==0x2e){active();type=0;} //通讯地址测试}Write_SJA1000(CAN_CMR,0x04); //释放接收缓冲区}if(CAN_IR_temp&0x02) //发送中断{NET_LED_off; //关闭网络灯ERR_LED_off; //关闭故障灯CANBE_JSQ=0; //复位总线关闭计数器asm("nop");}if(CAN_IR_temp&0x04) //错误报警中断(仅有总线关闭处理){ //读状态寄存器,SR.7总线关闭:CAN控制器不参与总线活动CAN_SR_temp=Read_SJA1000(CAN_SR);if(CAN_SR_temp&0x80){CANBE_JSQ=CANBE_JSQ+1; //关闭次数加1if(CANBE_JSQ=CANBE_C) //总线关闭次数到达设定次数{NET_LED_off; //关闭网络灯ERR_LED_on; //打开故障灯CANBE_JSQ=0; //复位总线关闭计数器do{Write_SJA1000(CAN_MOD,0x00); //重新进入工作模式}while((Read_SJA1000(CAN_MOD))&0x01);//等待进入工作模式Write_SJA1000(CAN_CMR,0x01); //启动CAN重新发送CANBE_JSQ=CANBE_C; //防止CANBE_JSQ溢出}}asm("nop");}}中断程序中,对命令码等于0x2e的处理程序是:active();active()程序如下://************************通讯地址测试2EH***********************//void active(void){uchar temp1,temp2;asm("nop"); //延时NET_LED_on; //打开网络灯CLI(); //关CAN中断,即总中断do{temp1=Read_SJA1000(CAN_SR);//读CAN_SR,直到SR.2=1:CPU可以发送数据dog();}while(!(temp1&0x04));Write_SJA1000(CAN_TXB+0,0x80); //发送数据帧0x80temp2=Read_SJA1000(CAN_RXB+1);Write_SJA1000(CAN_TXB+1,temp2); //发送转接器地址Write_SJA1000(CAN_TXB+2,addr); //发送传感器地址Write_SJA1000(CAN_TXB+3,0x2e); //发送命令码0x2eWrite_SJA1000(CAN_TXB+4,ID3); //发送ID3Write_SJA1000(CAN_CMR,0x01); //启动发送SEI(); //开中断asm("nop");}大家仔细看看 active()程序的内容,发送了一个没有数据的数据帧:0X80,再回过头看看中断处理函数,里面有这段程序, if(RxBuffer[0]==0x80) //地址测试数据帧{reload(); //数据帧中有和自己相同的地址}reload(); 程序很简单,就是停止喂狗,等待复位。复位之后呢,它会进行试发送,哈哈,接下来的两个地址相同的设备就“打架”起来了,现象就是一个设备不断复位,一个设备通讯灯不断闪烁。怎么样,很容易就判断出哪两个地址重复了。命令码等于0x27时,设备复位,一般是主机发送这个远程帧。0x34时,发送数据://************************瞬时值发送 34H*********************//void CAN_now_value_send(void){//uchar a_temp=0;uchar c_temp=0;js_now_send_value(); //计算需要发送的瞬间数值asm("nop"); //延时NET_LED_on; //打开网络灯do{b_temp=Read_SJA1000(CAN_SR); //读CAN_SR,直到SR.2=1:CPU可以发送数据dog();}while(!(b_temp&0x04))CLI(); //关CAN中断,即总中断Write_SJA1000(CAN_TXB+0,0x84); //发送数据帧0x84Write_SJA1000(CAN_TXB+1,RxBuffer[1]); //发送转接器地址Write_SJA1000(CAN_TXB+2,addr); //发送传感器地址Write_SJA1000(CAN_TXB+3,0x34); //发送命令码0x34Write_SJA1000(CAN_TXB+4,ID3); //发送ID3Write_SJA1000(CAN_TXB+5,CBDJ_Send_L); //Write_SJA1000(CAN_TXB+6,CBDJ_Send_H); //Write_SJA1000(CAN_TXB+7,GD_Send_L); //Write_SJA1000(CAN_TXB+8,GD_Send_H); //Write_SJA1000(CAN_CMR,0x01); //启动发送SEI(); //开中断asm("nop");}发送了一个数据帧,这个数据帧有四字节的数据。CAN的数据帧最多支持有8个字节的数据帧,如果数据较多,可以分为多个数据帧,在命令码里面区分这些数据帧。第四步:建立自己的CAN通讯网络。主机可以是一台有CAN接口的计算机,一般在计算机上装一个CAN接口卡,有ISA接口的,比如PCL-841;PCI接口的。CAN卡的销售商都会提供驱动,依靠驱动里面的函数,来控制CAN卡,此项不是专长,不好多说,反正就是这个思路。好了,昨天从南京回来的路上,就考虑发个CAN的东西。咱们这个论坛,目前还没有多少关于CAN的帖子,意在抛砖引玉…………本坛高手很多,尤其是有很多潜水的高高手~~~~--------------------程序中的一些DEFINE//******************引脚信号定义***************************//#define CS_1 (PORTB|= (1<<4 )) //AD7705片选#define CS_0 (PORTB&= ~(1<<4 ))#define DRDY (PINB&0x08) //AD转换DRDY信号输入#define NET_LED_off (PORTB|= (1<<0 )) //网络故障灯高电平,熄灭#define NET_LED_on (PORTB&= ~(1<<0 )) //网络故障灯低电平,点亮#define ERR_LED_off (PORTB|= (1<<1 )) //装置故障灯高电平,熄灭#define ERR_LED_on (PORTB&= ~(1<<1 )) //装置故障灯低电平,点亮#define DOG_on (PORTB|= (1<<2 )) //看门狗高#define DOG_off (PORTB&= ~(1<<2 )) //看门狗低#define WR_on (PORTD|= (1<<0 )) //WR高#define WR_off (PORTD&= ~(1<<0)) //WR低#define RD_on (PORTD|= (1<<1 )) //RD高#define RD_off (PORTD&= ~(1<<1)) //RD低#define CAN_cs_on (PORTD|= (1<<4 )) //CAN高#define CAN_cs_off (PORTD&= ~(1<<4)) //CAN低#define ALE_on (PORTD|= (1<<2 )) //ALE高#define ALE_off (PORTD&= ~(1<<2)) //ALE低#define FALSE 0#define TRUE 1#define CANBE_C 6 //总线关闭次数设定值//*******************CAN寄存器地址**************************//#define CAN_MOD 0 //模式寄存器#define CAN_CMR 1 //命令寄存器 只写#define CAN_SR 2 //状态寄存器 只读#define CAN_IR 3 //中断寄存器 只读#define CAN_IER 4 //中断使能寄存器#define CAN_BTR0 6 //总线定时寄存器0#define CAN_BTR1 7 //总线定时寄存器1#define CAN_OCR 8 //输出控制寄存器#define CAN_TEST 9 //测试寄存器#define CAN_ALC 11 //仲裁丢失寄存器#define CAN_ECC 12 //错误代码捕捉寄存器#define CAN_EWLR 13 //错误报警限制寄存器#define CAN_EXERR 14 //RX错误计数寄存器#define CAN_TXERR 15 //TX错误计数寄存器#define CAN_ACR0 16 //验收码寄存器0#define CAN_ACR1 17 //验收码寄存器1#define CAN_ACR2 18 //验收码寄存器2#define CAN_ACR3 19 //验收码寄存器3#define CAN_AMR0 20 //验收屏蔽寄存器0#define CAN_AMR1 21 //验收屏蔽寄存器1#define CAN_AMR2 22 //验收屏蔽寄存器2#define CAN_AMR3 23 //验收屏蔽寄存器3#define CAN_TXB 16 //发送缓冲区首地址(工作模式)#define CAN_RXB 16 //接收缓冲区首地址(工作模式)#define CAN_RMC 29 //RX信息计数器#define CAN_RBSA 30 //RX缓冲区起始地址寄存器#define CAN_CDR 31 //时钟分频器#define ID3 00 //ID3-----------------------------初始化程序uchar main_ch=0;IO_Init(); //I/O口初始化INT1_Init();GET_add(); //获取地址,地址为0,反复获取地址,直到不为0。NET_LED_on;ERR_LED_on; //初始化中,点亮故障灯和通讯灯,delay50ms(2);dog();delay50ms(2);dog();delay50ms(2);dog();CAN_Init(); //CAN初始化NET_LED_off;ERR_LED_off;SEI();CAN_first_send(); //CAN试发送delay50ms(1);dog();void GET_add(void) //地址获取程序{uchar add_temp=0,add_temp1=0,add_temp2=0,add_temp3=0,addr_temp=0;do{dog();NET_LED_on;ERR_LED_on;add_temp1=PINC&0xc3;add_temp2=add_temp1>>4;add_temp1=add_temp1&0x03;add_temp3=(PIND&0xe0)>>1;add_temp=add_temp1+add_temp2+add_temp3;add_temp=(~add_temp)&0x7f;addr=add_temp;delay50ms(2);}while(addr==0);}
推荐内容
-
如何一步一步建立CAN通讯
-
自己动手DIY制作LED显示屏
-
无损检测工艺概述
-
ISim你不得不知的技巧
-
阿根廷政府将加密货币矿工的能源成本提高了近 4 倍
-
受比特币短线走高1000美元的影响 MicroStrategy涨近12%
-
Qredo完成8000万美元A轮融资,10T Holdings领投
-
美股三大指数收盘涨跌不一,标普500指数涨0.52%
-
低碳概念股名单一览:哪些是低碳概念股?
-
2021年铁路股票有那些?铁路概念龙头股一览
-
2021年北京板块概念股名单一览,简单明了告诉你
-
华铁科技是什么概念?华铁科技所属概念解析
-
资产注入上市公司一览,2021年资产注入上市公司有哪些?
-
avr单片机流水灯汇编程序及电路图
-
酷比魔方U30GT双核豌豆拆解
-
高通滤波器原理
-
疫情下的在线教育乱象:退款按网课退
-
IMF总裁呼吁协作应对全球经济复苏三大障碍
-
证券期货经营机构私募资管业务规模达15.98万亿元
-
2021年保险业赔付同比增长14.12%
-
旅行箱包质量国家监督抽查不合格发现率为16.4%
-
冬奥下,中国势力如何争夺中高端户外、羽绒市场话语权
-
2021年浮法玻璃概念利好哪些上市公司(附股)?
-
养老概念股票的龙头股有哪些,养老概念股一览
-
铀矿上市公司龙头有哪些,铀矿上市公司概念一览
-
新能源车上市公司龙头有哪些?新能源车上市公司龙头一览
-
农产品股票有哪些,农产品概念股票一览
-
钢材概念股一览,2021年钢材概念股票有哪些
-
老板,示波器多少钱一斤?
-
3D打印机把制造PCB变得越来越简单!
-
DR五大优点以及平板探测器原理介绍
-
烈火见真金 智器Ten3资深玩家拆解
-
一款简单的数字电感电容表设计制作
-
庆新春迎冬奥 燕京啤酒邀你同举杯共欢庆
-
棉花概念股一览,2021年棉花概念股票有哪些
-
汽车板块股票有哪些?2021汽车板块龙头股一览表
-
黄山胶囊002817中签率出炉 黄山胶囊中签号查询
-
长链二元酸概念上市公司有哪些,长链二元酸股票名单
-
天润曲轴是什么概念?天润曲轴所属概念解析
-
评谷歌Chromecast电视棒 价格便宜但并非万能
-
变频器在电梯门机系统中的应用
-
中国宽带运营商为什么要分等级?
-
基于PLC的集中控制系统
-
新春祝福新潮流,加多宝快手挑战赛脱颖而出
-
USDC以太坊链上发行量突破450亿美元 创历史新高
-
中钞数藏发布冬奥系列数字藏品
-
空客上市公司一览,2021年空客上市公司有哪些?
-
2021年鸿蒙概念股有哪些?鸿蒙概念龙头股一览
-
长焰煤有哪些股票?长焰煤概念股票一览
-
集智股份是什么概念?集智股份所属概念解析
-
2021年ppp概念股一览,ppp相关概念股有哪些?
-
工业软件行业股票龙头名单一览
-
细节决定一切!昂达VX580W网友拆机评测
-
android应用程序结构分析
-
LED微型投影机酷乐视X2详细拆解
-
远程电源管理系统设计
-
443家上市公司在虎年成立 诞生8只千亿市值股
-
线上置办年货成为消费市场亮点 节前“异地订单”快速增长
-
云南医保异地就医服务“春节不打烊” 方便群众正常就医
-
Tezos与欧洲足球俱乐部曼联达成赞助合作关系
-
波士顿联储和麻省理工学院发布OpenCBDC
-
老虎全球管理基金将探索BTC和ETH等加密货币交易业务
-
宅家看or出门练?冰雪时光送上新春运动福利
-
打造数字化服务新标杆 榕树贷款以AI破解数字化转型痛点
-
OATLY进军烘焙渠道,植物奶开创健康新中点另类“轻”玩法
-
世界癌症日:乳腺癌预防知识,你了解多少?
-
今日立春 中医专家教你立春如何养生
-
钼矿概念龙头股一览,钼矿概念股全部名单
-
能源股票龙头股有哪些?能源股票概念一览
-
爱奇艺股票有哪些,爱奇艺概念股票一览
-
11月15日NMN概念大涨5.17% 雅本化学(300261)涨停
-
900948每股净资产 伊泰B股900948净资产是多少
-
内部结构清晰 联想S400轻薄独显本拆解
-
各种端子介绍大全
-
智能交通的发展趋势与市场前景分析
-
启动电容和运行电容的区别
-
双层PCB板制作过程与双层PCB板制作工艺
-
Paypal暴跌,“木头姐”紧急抛售已接近清仓
-
碳化硅真正的龙头是谁?A股碳化硅上市公司有哪些
-
300468股票价格 300468股票价格今天多少?(2020/12/16)
-
2022年三元锂电池概念股名单一览
-
工业母机股票是什么?工业母机相关龙头股一览
-
惠伦晶体是什么概念?惠伦晶体所属概念解析
-
磷肥上市公司股票有哪些?磷肥上市公司龙头一览
-
单片机实验学习板DIY讲解
-
色环电阻识别方法
-
电线电缆规格型号说明及含义
-
偏振式3D显示技术原理及优缺点分析
-
外媒:无聊猿创始团队正与a16z就融资一事进行谈判
-
300015股票多少钱一股?爱尔眼科300015股票价格是多少?
-
国泰君安什么时候上市?国泰君安上市受益股有哪些?
-
中韩自贸区受益股有哪些?2020中韩自贸区板块股票一览表
-
AI协作的设计模式
-
ATX电源维修技术
-
网友分享Dell N4010 14R笔记本拆机攻略
-
浅析麦道90机载变速恒频发电系统
-
lm358引脚图及功能说明
-
数字万用表的使用方法图
-
社交媒体平台Stocktwits宣布与FTX合作为用户提供加密交易服务
-
马克·扎克伯格:Meta“前进道路并不完美”但对新兴领域投资“充满信心”
-
Hut 8 Mining 1月产出308枚比特币,比特币储备达5826枚
-
IOHK确认于2月4日将Cardano区块大小从72 KB增加到80 KB
-
北京冬奥会火炬手董瑞:传承奥运精神,助推中医药融入冰雪运动
-
2022春节档:龚俊与达闼机器人共同演绎《恭喜发财》
-
AMC将通过OrangeComet推出美剧《行尸走肉》NFT
-
煤层气概念股名单一览,哪些是煤层气概念股?
-
2021年碳交易上市公司有哪些?碳交易上市公司一览
-
A股2021年白炭黑上市龙头企业一览
-
2021年NMN概念股龙头一览,NMN概念股有哪些?
-
青蒿素概念龙头股有哪些?青蒿素概念股一览
-
拆客原创:惠普G42拆机图
-
网友原创 DELL 灵越N5010 15R 拆机图解
-
GPS是什么(GPS的简介)
-
PTN技术功能及标准
-
春节假期如何吃?饮食安全攻略来了
-
以太坊鲸鱼将9万枚ETH从币安转移至未知钱包
-
任天堂总裁:承认元宇宙具有很大潜力
-
连续四年签约客户数量行业领先,东极定位引领本土定位咨询新时代
-
年味浓,销售旺 加多宝、昆仑山总经理一线助销忙
-
Meta公布财报一度跌逾20% 元宇宙业务净亏逾百亿
-
加密货币圈又见惊天盗案!黑客攻击导致虫洞损失逾3亿美元
-
白酒股“卷土重来”?券商策略二月扎堆荐茅台
-
中国轻工业2021年营收增14.4% 投资信心稳步恢复
-
“睡眠卡”潜藏账户风险 管理好个人账户及二维码
-
国家开发银行2021年新增制造业贷款余额超千亿元
-
头盔板块上市公司有哪些?头盔概念股一览
-
2015年5月新股申购一览表 待申购新股发行一览
-
互联网金融股票是什么?互联网金融相关龙头股一览
-
核电核能上市公司有哪些?相关上市公司龙头一览
-
钢构上市龙头企业有哪些,钢构龙头概念股票一览
-
一文读懂风向风速传感器
-
gps数据格式含义说明
-
电容在电路中可以起到哪些作用?
-
数字温度传感器原理简介
-
手机电池保养十大妙招
-
无卤素的要求标准及测试
-
一种通用的显卡驱动方法
-
MicroStrategy CEO:明确的加密监管将加快机构采用比特币
-
比特币矿企Greenidge:Q4比特币产量下降16%,但收入增长了23%
-
北京新增3例本土新冠肺炎确诊病例 均来自管控人员
-
提供预约、优化流程……春节期间核酸检测“不打烊”
-
广东新增本土确诊病例9例和本土无症状感染者1例
-
铁矿石A股上市龙头企业有哪些?铁矿石概念股一览
-
医药电商概念龙头股有哪些?(2021年医药电商概念股汇总)
-
端午节股市休市安排2020 端午节股市休市几天?
-
2021年头盔概念股龙头一览,头盔概念股有哪些?
-
循环经济概念有哪些股票?你抓住了几个?(2021/10/26)
-
商业连锁板块概念股有哪些?2021年商业连锁概念股龙头股一览表
-
四种电路仿真软件大比拼
-
DIGIA发布新Qt嵌入式企业版
-
压敏电阻器的符号及参数介绍
-
太阳能背板行业呈现三大趋势
-
场效应管的基本放大电路
-
首都疫情防控趋稳向好,共助冬奥会顺利举办
-
“回门”点心热卖 老字号元宵“旺销”
-
北京大兴区9个封控区 足不出户服务上门
-
北京丰台区24个新冠疫苗接种点春节不打烊
-
北京:重点检查确诊病例所在社区周边“小诊所”
-
首都疫情防控总体可控趋稳向好
-
SBF:FTX很高兴与 FSCA 合作,双方已开始对话
-
比特币矿商Greenidge:第四季度的收入仍在增长
-
分析师:Silvergate 收购 Diem 的资产有利于稳定币的推出
-
铝板块龙头股有哪些?2021年铝股票一览
-
360概念股有哪些?360概念股今日价格一览表(2019/09/17)
-
交通设施上市公司概念股有哪些?交通设施板块股票一览
-
工业4.0概念股有哪些,工业4.0概念股名单
-
铀矿上市公司有哪些?铀矿概念股票介绍
-
2021年引力波相关概念股有哪些,引力波概念股一览
-
运算放大器的作用和原理简介
-
测量投影仪使用方法和测量方法
-
浪涌电压基本知识
-
RC积分电路
-
集成运算放大器基本电路图
-
光控开关原理
-
步进电机驱动控制电路原理图
-
中国核电股票上市时间 中国核电什么时候上市 中国核电 新消息
-
社交网络上市公司有哪些,2021年社交网络龙头上市公司名单
-
200625股票价格 200625股票价格今天多少?(2020/12/01)
-
超级细菌概念股名单,超级细菌概念股龙头有哪些?
-
300266股票今日价 兴源环境300266股票现在价格多少
-
类稀土上市公司有哪些?类稀土受益上市公司一览
-
人机界面设计原则及设计思想
-
电阻应变片的工作原理
-
家用开关电源电路图详细图解
-
关于电流谐波的常识
-
新春佳节,传祺献礼,高端化+年轻化发展解锁年轻新密码
-
电影《特殊报道》声明函
-
养老产业上市公司一览,2021年养老产业上市公司有哪些?
-
智能仓储上市公司一览,2021年智能仓储上市公司有哪些?
-
软件开发相关股票有哪些?软件开发股票现在什么价格?(2021/8/24)
-
基因编辑清除HIV已取得有效成果 2019基因编辑概念股有哪些?
-
vr上市公司龙头有哪些,vr上市公司概念一览
-
量子科技上市公司股票有哪些?量子科技上市公司龙头一览
-
重力传感器(G-sensor)原理与应用
-
示波器的使用方法
-
日本三大工业机器人品牌
-
初代 iPhone 原型机欣赏:原来真的是一块电脑主板
-
网线测试仪原理
-
国内流行的PCB设计软件
-
自动驾驶系统存在缺陷 NHTSA要求特斯拉召回5.4万辆在美汽车