tag 标签: 单片机

相关帖子
相关博文
  • 热度 6
    2021-2-4 09:02
    1444 次阅读|
    1 个评论
    单片机矢量图形显示方法.
    罗昊 摘要 使用图形界面会提高产品的外观及操作便利性,而图形数据需要占用大量的存储空间。对比按像素方式与矢量方式图像。将图形矢量化存储能节省空间。使用 SVG 格式将图形编码存储,顺序解析矢量图形数据,配合常用图形用户界面,增加贝塞尔曲线绘制函数,将图片绘制出来。使用矢量方法容易实现放大、缩小和动画效果。 关键字:矢量图形、图形用户界面、单片机 Vector graphic storage and display by MCU Luohao Beijing KellyMed co.,ltd. Abstract Use GUI improve convenient and get good appearance, generally, graphic data consume massive storage. Compare bit and vector graphic, Use vector method can save memory. Graphic save in SVG format, serial resolve vector data, along with Bessel curve extend GUI to draw graphic. It is easy to i mplement some effect such as magnify, animation. Key words: Vector graphic, GUI, MCU 引言 在产品中使用 GUI 已经成为驱势。随着 LCD 屏分辨率提高,色彩更丰富。用于显示的图片需要大量的存储空间。一幅 320*240 的图片,每个像素占一个字节,需要占用 76KB 。还需要存储 8 位调色板接近 1KB 空间。这对于捉襟见肘的单片机存储资源显然是无法接受的。即使使用如 JPEG 压缩图片,图片解码时需要的 RAM 资源也很多。如果使用矢量方法进行图形处理,存储与处理都会有较大的改善,并且容易实现一些如扩大缩小,动画等功能。 图片存储方式 以点阵方式处理图片是当前常规的方法,图片是按点存储,按点处理。一幅多大尺寸的图形就需要多大尺寸的存储空间。单片机常用的图形用户界面如μ cgui 一般都能提供 GUI_DrawBitmap 这样的函数。按点读取颜色数据,索引调色板中的颜色值,然后写到显示存储器中。 矢量处理方式将图片分成椭圆弧、多边形和路径。其中路径以直线,曲线组成,参照 SVG 文件标准 ,以文本的形式存储图像。格式示例如下:以命令开头后跟点座标参数。 所有命令均允许小写字母。大写表示绝对定位,小写表示相对定位。使用相对定位仅存储差值能缩小存储空间。为保证必要的精度,所有的座标用 1 位小数表示。 以上表方式将图形编码。图形越简单需要的存储空间越小。 如图 1 所示, a 中 128*128 的图像,如果使用 2bit 表示一个像素位, 128*128 的图像需要 4K 存储空间。以矢量方式存储,由两个路径一个多边形一个椭圆组成,占用空间不超过 0.5K 图形编码数据结构 定义一个结构体描述图形,包含数据类型,颜色,数据指针和下一个数据的指针。 typedef struct VectList{ uint8_t type; //类型,指示数据类型为椭圆弧、多边形或路径 uint32_t fillcolor; //填充颜色值,按RGB uint32_t strokecolor; //边线颜色 uint32_t strokewidth; //边线宽度 uint8_t *PicStr; //图片数据指针 struct VectList *next; //指向下一个 }; 图像数据以结构体的方式,存储在结构体内,结构体中包含指向一下一条数据结构的指针,最后一条指向空指针。形成单向链表。如图 2 所示。 数据解析 显示一幅矢量图的过程如下,首先获取指向第一条图片记录的结构,如果类型为椭圆或多边形,从 PicStr 中取得参数,调用画圆,画多边型的函数绘制图片,调用圆填充,多边形填充函数填充图片。如果类型为路径。需要先找到 M 获得起点座标 ,依次寻找线形,如果为 L 或 l ,获取后面的数据作为 调用画线函数,画直线。如果为 c 获取后面的数据 作为控制点, 为终点,调用绘图函数三次贝塞尔曲线函数绘制图片。其它数据依此类推处理。画线完毕后,再调用填充函数填充图片。所有操作顺序处理,前后基本无关联。 绘图函数 从表中可以看出,需要一些绘图函数来实现矢量图绘制的功能,参考μ cgui ,在核心中会提供画点,线,椭圆,圆弧,多边形等函数。但没有二次和三次贝塞尔曲线的函数。构造一个函数如下: 可知,只要规定好起点终点和中间的控制点,变化参数 t 就能计算出中间的任意点的座标。为减少计算量,参数 t 的变化越少越好,可以依据点坐标之间的差值取大值作为点数。确定好点数后,线性变化 t 求出一系列座标点。用画线函数将这些点连起来就能得到满意的效果。 颜色填充 按上述方法,路径中的贝塞尔曲线实际上已经变换为分段直线,整个路径实际上已经成为由一系列顶点构成的多边形。在画路径的过程中,需要将原有顶点以及计算得到的顶点座标存储成一个阵列。 目前应用较广的多边形区域填充算法是标准扫描线算法和边填充算法 ,扫描线算法需要存储一系列边表,用类似于扫描的方式,将边表之间的区域画线填充,边填充算法则是在原有的边的基础上往内部缩进填充所有内部区域。可以使用 GUI 自带的多边形填充函数 GUI_FillPolygon 完成填充工作。 一些特殊效果 绘图中需要一些特殊效果如放大,缩小,动画等。使用矢量方式处理图形,进行放大缩小具有无可比拟的优势。所有的座标只需要按照需要的倍数进行乘积变换。甚至可以进行小数位放大缩小,不会有边沿锯齿产生。产生动画效果,需要可以将需要动作的部件独立存储成矢量,在绘制动画之前,将图形拼合成矢量序列。然后按新的矢量序列绘制,即可产生动画效果。 图片数据生成 可以使用矢量图形编辑工具,将所需要的图片转换成矢量图形,然后存储为 SVG 文本格式的文件。从文件中摘取所需要的内容,按上面定义的数据结构组成图片数据。 结论 在实际应用中发现,使用矢量方法处理图形,如显示产品 LOGO ,绘制产品线框图使用说明,显示大字号的文字,对节省存储空间,提高显示性能都特别有效。
  • 热度 3
    2020-12-26 14:07
    546 次阅读|
    0 个评论
    关键词:Modbus FreeModbus STM32F103C8T6 CubeMX 移植 摘要:STM32F103、FreeModbus从站设计(5)-如何将FreeModbus代码加入keil。详细阐述如何获取freemodbus代码,代码的大体结构,如何将freemodbus加入keil工程。讲解了注意事项,全实战演示,实际可用。 1.前提 (1)管脚配置 图1 (2)外设资源 图2 2.FreeModbus协议代码添加 (1)获取代码 最新的FreeModbus协议代码可以在其官网下载,孔丙火(微信公众号:孔丙火)提醒,是下载免费的那个版本,仅支持从站,支持主站的版本是收费的。 图3 (2)添加代码到工程 Freemodbus的代码中需要复制的是modbus和demo两个文件夹,把modbus文件夹整个拷贝到工程目录中,把demo-bare中的port文件夹拷贝到工程目录中,把demo-bare中的demo.c拷贝到工程目录的Src文件夹中,孔丙火(微信公众号:孔丙火)把它改名为:modbus_app.c,如图4。 图4 在keil工程中新建一个Group,命名为:modbus,把modbus文件夹中所有文件添加到其中,然后新建一个名为prot的Group,把port文件夹中所有文件添加到其中,把modbus_app.c添加到名为Application/User的已有Group中,如图5。 图5 (3)头文件包含路径修改 在工程的魔术棒选项中,把添加到工程中的所有子文件夹添加到包含路径中,如图6所示。 (4)编译 把modbus_app.c中的main函数注掉,因为一个工程中只能有一个main函数,然后编译,没有错误,有4个warning,这个在后续的代码修改后,会消除。 图6 单片机、ARM、现场总线、PLC、嵌入式软硬件的设计经验分享,秉承“点点滴滴皆智慧”的理念,以实际项目为单元阐述知识点,一起分享,共同交流。 文章在微信公众号(孔丙火)同步推出,欢迎欣赏更多精彩文章。
  • 热度 3
    2020-12-8 16:19
    599 次阅读|
    0 个评论
    关键词:Modbus FreeModbus STM32F103C8T6 CubeMX 1.串口参数设置 我们选择UART2来做RS485接口,UART1作为备用,用来做调试中的串口打印用。串口的参数配置比较简单,不再赘述。注意要启用串口中断,FreeModbus采用中断的方式接受和发送串口数据。 2.定时器参数设置 采用TIM2来作为FreeModbus的定时器,孔丙火(微信公众号:孔丙火)这里主要实现工业控制中常用的Modbus-RTU功能,RTU协议中是靠时间间隔来判断一个数据帧是否结束的,所以需要用到定时器。 先上一张时钟配置图,如图1. 图1 晶振是12M的,APB1和APB2的定时器频率都是72M。 图2 图2是TIM2的参数配置界面,时钟分频是3599+1=3600,即:72÷3600=0.02MHz,一个时钟周期为:1÷0.02M=50us,之所以这样设置,是基于Freemodbus协议的需要。熟悉Freemodbus协议的朋友是知道的,在通信速率≥19200pbs时,帧间隔识别时间为固定的35×50us=1750us,在通信速率<19200pbs时,按照实际的11个bit时间计算。孔丙火(微信公众号:孔丙火)在这里暂且把Counter Period设为35,其实在程序代码中是根据实际通信速率来赋值的,这个在后面的文章中会详细介绍。这个地方也是本系列文章与网上大多数文章的不同支出,其他文章多数把这个参数设为固定值,每次更改通信速率都要手动改这个参数,孔丙火(微信公众号:孔丙火)感觉不是很方便。 3.中断说明 图3 如图3所示,中断部分的配置至少要使能TIM2和USART2的中断。在程序中,实际用到的是TIM2的定时溢出中断,UART2的接收完成中断和发送非空中断。 把这些设置完后,就可以去生成代码了,这一步比较简单,不再赘述,不太清楚的朋友,也可以参考孔丙火(微信公众号:孔丙火)之前的文章。下一节开始详细介绍代码的编写。 单片机、 ARM 、现场总线、 PLC 、嵌入式软硬件的设计经验分享,秉承 “ 点点滴滴皆智慧 ” 的理念,一起分享,共同交流。
  • 热度 5
    2020-11-15 21:18
    1079 次阅读|
    2 个评论
    【原创】基于单片机的智能小车之步进电机28BYJ-48的转动_01
    最近想做一个步进电机转动,看着挺简单,也就5根线连接,结果栽在了线序上 先简单讲讲编程所需要的相关必要知识,再说驱动步进电机的程序 一:先来认识 步进电机28BYJ-48 28BYJ-48:全称为:4项8拍-28mm最大有效外径-永磁减速步进电机 28:有效的最大外径28mm B:步进电机 Y:永磁 J:减速电机 4:4项 8:8拍 二:步进电机编程的必要知识 A:步进电机的3个关键参数:步进角+减速比+空载启动频率 01)步进角 4项8拍时,步进角5.625°(旋转360°,需要转动8个循环,每1个循环为1个4项8拍 64=8循环*8拍) 4项4拍时,步进角11.25°(旋转360°,需要转动8个循环,每1个循环为1个4项4拍 32=8循环*4拍) 本程序选择:每拍转动的角度5.625° 02:减速比 4项8拍时,步进角5.625°,如果减速比64,那么步进角=5.625°/64 4项4拍时,步进角11.25°,如果减速比64,那么步进角=11.25°/64 结论:减速比越高,精度越高,但是转速越慢(因为旋转每一拍的时间有限定,涉及到第三个参数:空载启动频率) 03:空载启动频率 空载启动频率最大为550Hz,也就是最小时间为1.8ms(T=1/f=1/550=1.8ms),本程序选定的是2ms/拍; 4项8拍,旋转360°需要的时间: cnt=360/(5.625/64)=4096拍 T=2ms*4096拍=8192ms=8.192s,时间还是挺长的。 其实,步进电机还有一个参数:带载能力。只是此处编程用不上,我也没有列到关键参数里,等接下来的42步进电机+TB6600驱动器,再重点讲述,在此处,已经够用。 B:引脚电平 上图里列出8拍的电平,每4项8拍为一次循环 四相八拍 A=0 0x0e 0x01(ULN2003) A=0;B=0; ... ... B=0; ... ... B=0;C=0; ... ... C=0; ... ... C=0;D=0; ... ... D=0; 0x07 0x08(ULN2003) D=0;A=0; 0x06 0x09(ULN2003) A=0; unsigned char code tab_motor ={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09};//ULN2003和步进电机直接相连 C:引脚 上午为了步进电机28BYJ-48引脚头痛很久,怎么弄都是光震动不转动, //版本1:我淘宝网购买,有白色接插件,限定线序 步进电机引脚: VCC:蓝色 A:粉色 P0^0 B:黄色 P0^1 C:橙色 P0^2 D:红色 P0^3 sbit motor_rotation_A=P0^0; sbit motor_rotation_B=P0^1; sbit motor_rotation_C=P0^2; sbit motor_rotation_D=P0^3; //版本2:网上讲解最多的线序 步进电机引脚: VCC:红色 A:橙色 P0^0 B:黄色 P0^1 C:粉色 P0^2 D:蓝色 P0^3 sbit motor_rotation_A=P0^0; sbit motor_rotation_B=P0^1; sbit motor_rotation_C=P0^2; sbit motor_rotation_D=P0^3; 三:编程思路 定时器T0定时中断,每2ms中断一次,中断里,数据变更一次输出到步进电机,循环输出或者4096次之后不再输出,两种方式都可以 /**************************************** 电路元器件:STC89s52+步进电机28BYJ-48+ULN2003驱动 ****************************************/ #include //cnt_duty unsigned char cnt_1ms=0; //unsigned char code tab_motor ={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09}; //4项8拍 //************************// //功能:初始化函数 //输入:无 //输出:无 //************************// void motor_rotation_Init(void) { P0=0x00; } //************************// //功能:初始化函数 //输入:无 //输出:无 //************************// void T0_init() { TMOD=0x01; TH0=0xF8; //2ms TL0=0xcc; ET0=1; EA=1; TR0=1; } //************************// //功能:主函数main() //输入:无 //输出:无 //************************// void main(void) { motor_rotation_Init(); T0_init(); while(1) { } } //************************// //功能:T0中断函数 //输入:无 //输出:无 //************************// void T0_intr(void) interrupt 1 using 1 { static unsigned char i=0; TH0=0xF8; //2ms TL0=0xcc; //版本04 //ok // if(cnt_1ms%2==0) //fuck! (%) and(/),I can't define it //if(cnt_1ms/2==0) // P0=tab_motor ; ++cnt_1ms; =8) i=0; } //再增添一些 我遇到的问题:电机只震动不转 我怀疑是数据和线序的问题,到底是橙色还是蓝色为第0脚,赋值问题; A1 : 将电机线成对的交换一下,相的导通顺序的不对,也可以改程序。 A2 : 原因: 1 ,步进电机的转速虽说和脉冲频率有关,但不是任何频率都行的。只能在某个特定的范围内调速才行; 2 ,脉冲频率太快,会丢步,即步进电机转子振荡很厉害。内部不动,外部在动,那是已经失步了,步进电机在一个位置振荡,根本没启动; 3 ,频率不对,也即是给两个脉冲中间的延时不对。 解决方法: 最好是用定时器给一个较精确的延时来调试,找出一个可以让它转的合适的延时。 A3: 首先要确认你外围接线是否正确。 再设定好步进的控制方式及细分,是双脉冲还是脉冲加方向控制。 最后再检测你的脉冲输出,脉冲频率先从低到高慢慢增加。 A4: 橙,黄,粉,蓝,就对应 A,B,C ,D ; 根据电路的设置,我们可以把电机每转动一个小角度的值给他算出来,分别是 :0xe,0xc,xd,0x9,0xb,0x3,0x7,0x6; //中文:坤豆豆 //英文:Cayden //时间:2020-11-15 //链接:https://blog.csdn.net/caozhaokun/article/details/109710113
  • 热度 5
    2020-11-9 13:04
    428 次阅读|
    0 个评论
    关键词:Modbus FreeModbus STM32F103C8T6 CubeMX 1.开发环境 (1)STM32CubeMX,版本:4.27.0,截止写稿时,最新版本已到6,但孔丙火(微信公众号:孔丙火)实在是用不习惯版本5以后的界面,所以还继续用4版本的。 图1 (2)MDK(Keil),版本:5.17,有部分朋友用的还是4版本的,建议升级到5,在5下装一个兼容包,就可以用5打开4版本的程序。 2.时钟及串口初始化 (1)新建CubeMX工程 孔丙火(微信公众号:孔丙火)认为,这一步比较简单,点击初始界面中的New Project,在后面出现的配置窗口中,按照图2搜索STM32F103C8,选择这个器件,然后点击Start Project就可以了。 图2 然后就到了图3的配置界面,红框部分跟图中配置一样即可。左侧红框选择后,右边红框的部分会自动出来。TIM2用来做RTU的3.5字符周期的定时,下一节孔丙火(微信公众号:孔丙火)会详细讲解。 图3 单片机、ARM、现场总线、PLC、嵌入式软硬件的设计经验分享,秉承“点点滴滴皆智慧”的理念,一起分享,共同交流。
相关资源
  • 所需E币: 3
    时间: 2021-2-8 12:08
    大小: 47.53MB
    上传者: karenr
    51单片机学习资料,pdf扫描
  • 所需E币: 1
    时间: 2021-1-28 14:04
    大小: 445.54KB
    上传者: Top_Spider
    随着科技的进步,电动汽车技术也得到了迅速的发展;相比内燃机汽车,电动汽车具有零排放、高能量效率、低噪声、低热辐射、易操纵和易维护等优点,将是未来汽车发展的方向,也是现行研究的热点。电动汽车的动力电池有如下三类:燃料电池、蓄电池和超级电容,而对于车载用电源,为达到较高功率和能量,超级电容往往采用多块单体串联的形式。但随着电容串级的提升,电池整体电压也随之提高,然而这样高峰值的电压引起的波动会带来强烈的电磁干扰,为电容组件的检测带来很大的困难。同时由于串联超级电容往往采用大电流充放电(通常在50A~150A之间),电压、电流变化十分迅速,这样迅速的充放电速度和幅度带来的噪音影响也是十分巨大。因此针对超级电容特殊的工作状况,本文给出了一种利用单片机设计的超级电容电池测试系统方案。
  • 所需E币: 4
    时间: 2021-1-22 09:41
    大小: 20.04MB
    上传者: 夏mo
    很详细的讲解C语言知识以及KEIL软件的应用。所用的单片机为金沙滩的KST51单片机。书中有丰富的例子,还顺带讲了一些硬件基础知识。
  • 所需E币: 1
    时间: 2021-1-14 13:49
    大小: 168.3MB
    上传者: Zheng_1208
    经典的51单片机C语言编程教材
  • 所需E币: 1
    时间: 2020-12-30 16:26
    大小: 172KB
    上传者: Argent
    电子产品日新月异,不管是硬件工程师还是软件工程师,基本的模电、数电知识也是必备的条件,从二极管到三极管,从单片机到多核MCU,3G网络到5G产品的普及,不管电子产品的集成度怎么高,其产品还是少不了电阻电容电感,每个元器件在电路中必然有其作用,有兴趣了解的网友,下载学习学习吧。
  • 所需E币: 1
    时间: 2020-12-30 16:31
    大小: 238.5KB
    上传者: Argent
    电子产品日新月异,不管是硬件工程师还是软件工程师,基本的模电、数电知识也是必备的条件,从二极管到三极管,从单片机到多核MCU,3G网络到5G产品的普及,不管电子产品的集成度怎么高,其产品还是少不了电阻电容电感,每个元器件在电路中必然有其作用,有兴趣了解的网友,下载学习学习吧。
  • 所需E币: 1
    时间: 2020-12-30 16:34
    大小: 78KB
    上传者: Argent
    电子产品日新月异,不管是硬件工程师还是软件工程师,基本的模电、数电知识也是必备的条件,从二极管到三极管,从单片机到多核MCU,3G网络到5G产品的普及,不管电子产品的集成度怎么高,其产品还是少不了电阻电容电感,每个元器件在电路中必然有其作用,有兴趣了解的网友,下载学习学习吧。
  • 所需E币: 1
    时间: 2020-12-30 16:34
    大小: 71KB
    上传者: Argent
    电子产品日新月异,不管是硬件工程师还是软件工程师,基本的模电、数电知识也是必备的条件,从二极管到三极管,从单片机到多核MCU,3G网络到5G产品的普及,不管电子产品的集成度怎么高,其产品还是少不了电阻电容电感,每个元器件在电路中必然有其作用,有兴趣了解的网友,下载学习学习吧。
  • 所需E币: 1
    时间: 2020-12-30 16:20
    大小: 347KB
    上传者: Argent
    电子产品日新月异,不管是硬件工程师还是软件工程师,基本的模电、数电知识也是必备的条件,从二极管到三极管,从单片机到多核MCU,3G网络到5G产品的普及,不管电子产品的集成度怎么高,其产品还是少不了电阻电容电感,每个元器件在电路中必然有其作用,有兴趣了解的网友,下载学习学习吧。
  • 所需E币: 1
    时间: 2020-12-30 16:23
    大小: 886KB
    上传者: Argent
    电子产品日新月异,不管是硬件工程师还是软件工程师,基本的模电、数电知识也是必备的条件,从二极管到三极管,从单片机到多核MCU,3G网络到5G产品的普及,不管电子产品的集成度怎么高,其产品还是少不了电阻电容电感,每个元器件在电路中必然有其作用,有兴趣了解的网友,下载学习学习吧。
  • 所需E币: 1
    时间: 2020-12-29 19:52
    大小: 223.07KB
    上传者: Argent
    电子产品日新月异,不管是硬件工程师还是软件工程师,基本的模电、数电知识也是必备的条件,从二极管到三极管,从单片机到多核MCU,3G网络到5G产品的普及,不管电子产品的集成度怎么高,其产品还是少不了电阻电容电感,每个元器件在电路中必然有其作用,有兴趣了解的网友,下载学习学习吧。
  • 所需E币: 1
    时间: 2020-12-29 19:15
    大小: 1.39MB
    上传者: Argent
    电子产品日新月异,不管是硬件工程师还是软件工程师,基本的模电、数电知识也是必备的条件,从二极管到三极管,从单片机到多核MCU,3G网络到5G产品的普及,不管电子产品的集成度怎么高,其产品还是少不了电阻电容电感,每个元器件在电路中必然有其作用,有兴趣了解的网友,下载学习学习吧。
  • 所需E币: 1
    时间: 2020-12-29 19:26
    大小: 2.58MB
    上传者: Argent
    电子产品日新月异,不管是硬件工程师还是软件工程师,基本的模电、数电知识也是必备的条件,从二极管到三极管,从单片机到多核MCU,3G网络到5G产品的普及,不管电子产品的集成度怎么高,其产品还是少不了电阻电容电感,每个元器件在电路中必然有其作用,有兴趣了解的网友,下载学习学习吧。
  • 所需E币: 1
    时间: 2020-12-29 20:42
    大小: 166.75KB
    上传者: Argent
    电子产品日新月异,不管是硬件工程师还是软件工程师,基本的模电、数电知识也是必备的条件,从二极管到三极管,从单片机到多核MCU,3G网络到5G产品的普及,不管电子产品的集成度怎么高,其产品还是少不了电阻电容电感,每个元器件在电路中必然有其作用,有兴趣了解的网友,下载学习学习吧。
  • 所需E币: 1
    时间: 2020-12-29 23:32
    大小: 462.54KB
    上传者: Argent
    电子产品日新月异,不管是硬件工程师还是软件工程师,基本的模电、数电知识也是必备的条件,从二极管到三极管,从单片机到多核MCU,3G网络到5G产品的普及,不管电子产品的集成度怎么高,其产品还是少不了电阻电容电感,每个元器件在电路中必然有其作用,有兴趣了解的网友,下载学习学习吧。
  • 所需E币: 1
    时间: 2020-12-29 23:32
    大小: 194.12KB
    上传者: Argent
    电子产品日新月异,不管是硬件工程师还是软件工程师,基本的模电、数电知识也是必备的条件,从二极管到三极管,从单片机到多核MCU,3G网络到5G产品的普及,不管电子产品的集成度怎么高,其产品还是少不了电阻电容电感,每个元器件在电路中必然有其作用,有兴趣了解的网友,下载学习学习吧。
  • 所需E币: 1
    时间: 2020-12-29 23:31
    大小: 175.77KB
    上传者: Argent
    电子产品日新月异,不管是硬件工程师还是软件工程师,基本的模电、数电知识也是必备的条件,从二极管到三极管,从单片机到多核MCU,3G网络到5G产品的普及,不管电子产品的集成度怎么高,其产品还是少不了电阻电容电感,每个元器件在电路中必然有其作用,有兴趣了解的网友,下载学习学习吧。
  • 所需E币: 0
    时间: 2020-12-28 21:32
    大小: 381.02KB
    上传者: stanleylo2001
    基于单片机和PLC的通用型工业无线遥控系统
  • 所需E币: 0
    时间: 2020-12-25 12:16
    大小: 1.51MB
    上传者: czd886
    基于ARM和单片机的中医诊疗设备智能温控系统研制
  • 所需E币: 0
    时间: 2020-12-25 16:55
    大小: 1.64MB
    上传者: czd886
    基于AVR单片机+FPGA的U盘记录器设计
广告