历史上的今天
返回首页

历史上的今天

今天是:2024年10月12日(星期六)

正在发生

2019年10月12日 | LPC2000系列ARM芯片的电子琴的设计

2019-10-12 来源:eefocus

1.用LPC2000系列ARM芯片设计电子琴,用proteus软件仿真。
2.按下不同的按键,扬声器能够发出不同的音调。
3.用PWM控制扬声器可以实现音调的条件。

通过编程,利用按键去控制扬声器的发声。


通过小组讨论分析,结合设计电路性能指标、器件的性价比,本设计电路选择方案二。

  • 硬件设计与介绍

嵌入式的定义:

从技术的角度定义:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。


从系统的角度定义:嵌入式系统是设计完成复杂功能的硬件和软件,并使其紧密耦合在一起的计算机系统。术语嵌入式反映了这些系统通常是更大系统中的一个完整的部分,称为嵌入的系统。嵌入的系统中可以共存多个嵌入式系统。


3.1 213X系列最小系统板介绍:

LPC2131/2132/2138 是基于一个支持实时仿真和嵌入式跟踪的32/16ARM7TDMI-STM CPU 的微控制器,并带有32kB、64kB、512 kB 的嵌入的高速Flash 存储器。128 位宽度的存储器接口和独特的加速结构使32 位代码能够在最大时钟速率下运行。对代码规模有严格控制的应用可使用16 位Thumb模式将代码规模降低超过30%,而性能的损失却很小。


较小的封装和极低的功耗使 LPC2131/2132/2138 可理想地用于小型系统中,如访问控制和POS 机。宽范围的串行通信接口和片内8/16/32kB的SRAM使LPC2131/2132/2138 非常适用于通信网关、协议转换器、软modem、声音辨别和低端成像,为它们提供巨大的缓冲区空间和强大的处理功能。多个32位定时器、1个或2 个10 位8 路ADC、10 位DAC、PWM 通道和47个GPIO 以及多达9个边沿或电平触发的外部中断使它们特别适用于工业控制和医疗系统。


主要特性如下:

(1)16/32位ARM7TDMI-S核,超小LQFP64封装。  ??

(2)8/16/32kB的片内静态RAM和32/64/128/256/512kB的片内Flash程序存储器。128位宽度接口/加速器可实现高达60MHz工作频率。  ??

(3)通过片内boot装载程序实现在系统编程/在应用编程(ISP/IAP)。单个Flash扇区或整片擦除时间 为400ms。256字节行编程时间为1ms。  ??

(4)EmbeddedICE RT和嵌入式跟踪接口通过片内RealMonitor软件对代码进行实时调试和高速跟踪。 ??

(5)1个(LPC2131/32)或2个(LPC2134/36/38)8路10位的A/D转换器,共提供16路模拟输入,每个通道的转换时间低至2.44us。  ??

(6)1个10位的D/A转换器,可产生不同的模拟输出。(LPC2132/34/36/38)  ?? (7)2个32位定时器/外部事件计数器(带4路捕获和4路比较通道)、PWM单元(6路输出)和看门狗。  ??

(8)低功耗实时时钟具有独立的电源和特定的32kHz时钟输入。  ??

(9)多个串行接口,包括2个16C550工业标准UART、2个高速I2C总线(400 kbit/s)、SPI和具有缓冲作用和数据长度可变功能的SSP。 ??

(10)向量中断控制器。可配置优先级和向量地址。  ??

(11)小型的LQFP64封装上包含多达47个通用I/O口(可承受5V电压)。 ?? (12)多达9个边沿或电平触发的外部中断管脚。  ??

(13)通过片内PLL(100us的设置时间)可实现最大为60MHz的CPU操作频率。  ??

(14)片内集成振荡器与外部晶体的操作频率范围为1~30 MHz,与外部振荡器的操作频率范围高达 50MHz。  ??

(15)低功耗模式:空闲和掉电。  ??

(16)可通过个别使能/禁止外部功能和外围时钟分频来优化功耗。 ??

(17)通过外部中断或BOD将处理器从掉电模式中唤醒。 ??

(18)单电源,具有上电复位(POR)和掉电检测(BOD)电路。  ??

(19)CPU操作电压范围:3.0V~3.6 V (3.3 V± 10﹪),I/O口可承受5V的电压。


3.2最小系统板结构


LPC2131/2132/2138 包含一个支持仿真的ARM7TDMI-S CPU、与片内存储器控制器接口的ARM7 局部总线、与中断控制器接口的AMBA 高性能总线(AHB)和连接片内外设功能的VLSI 外设总线(VPB,ARMAMBA 总线的兼容超集)。LPC2131/2132/2138 将ARM7TDMI-S 配置为小端(little-endian)字节顺序。AHB 外设分配了2M 字节的地址范围,它位于4G 字节ARM 存储器空间的最顶端。每个AHB 外设都分配了16k 字节的地址空间。LPC2131/2132/2138 的外设功能(中断控制器除外)都连接到VPB 总线。AHB到VPB 的桥将VPB 总线与AHB 总线相连。VPB 外设也分配了2M 字节的地址范围,从3.5GB 地址点开始。每个VPB 外设在VPB 地址空间内都分配了16k 字节地址空间。


片内外设与器件管脚的连接由管脚连接模块控制。该模块必须由软件进行控制以符合外设功能与管脚在特定应用中的需求。


3.3 片内FLASH程序储存器


LPC2131/2132/2138 分别含有32kB、64kB 和512kB 的FLASH 存储器系统。该存储器可用作代码和数据的存储。对FLASH 存储器的编程可通过几种方法来实现:通过内置的串行JTAG 接口,通过在系统编程(ISP)和UART0,或通过在应用编程(IAP)。使用在应用编程的应用程序也可以在应用程序运行时对FLAH 进行擦除和/或编程,这样就为数据存储和现场固件的升级都带来了极大的灵活性。如果LPC2131/2132/2138 使用了片内引导装载程序(bootloader),32/64/512kB 的Flash 存储器就可用来存放用户代码。


LPC2131/2132/2138 的Flash 存储器至少可擦除/编程10,000 次,保存数据的时间长达10 年。


3.4 片内静态RAM


片内静态RAM(SRAM)可用作代码和/或数据的存储,支持8 位、16 位和32 位的访问。LPC2131/2132/2138 含有8/16/32kB 的静态RAM。

LPC2131/2132/2138 SRAM 是一个字节寻址的存储器。对存储器进行字和半字访问时将忽略地址对准,访问被寻址的自然对准值(因此,对存储器进行字访问时将忽略地址位0 和1,半字访问时将忽略地址位0)。

因此,有效的读写操作要求半字数据访问的地址线0 为0(地址以0、2、4、6、8、A、C 和E 结尾),字数据访问的地址线0 和1 都为0(地址以0、4、8 和C 结尾)。该原则同样用于片外和片内存储器。


SRAM 控制器包含一个回写缓冲区,它用于防止CPU 在连续的写操作时停止运行。回写缓冲区总是保存着软件发送到SRAM 的最后一个字节。该数据只有在软件请求下一次写操作时才写入SRAM(数据只有在软件执行另外一次写操作时被写入SRAM)。如果发生芯片复位,实际的SRAM 内容将不会反映最近一次的写请求(即:在一次“热”芯片复位后,SRAM 不会反映最后一次写入的内容)。任何在复位后检查SRAM 内容的程序都必须注意这一点。通过对一个单元执行两次相同的写操作可保证复位后数据的写入。或者,也可通过在进入空闲或掉电模式前执行虚写(dummy write)操作来保证最后的数据在复位后被真正写入到SRAM。


3.5 存储器映射概念和操作方式


LPC2131/2132/2138 的基本的概念是:每个存储器组在存储器映射中都有一个“物理上的”位置。它是一个地址范围,该范围内可写入程序代码。每一个存储器空间的容量都永久固定在同一个位置,这样就不需要将代码设计成在不同地址范围内运行。

由于ARM7 处理器上的中断向量位置(地址0x0000 0000~0x0000 001C,见表2),Boot Block 和SRAM空间的一小部分需要重新映射来实现在不同操作模式下对中断的使用,见表1。中断的重新映射通过存储器映射控制特性来实现,详见系统控制模块一节。

表1:LPC2131/2132/2138 存储器映射模式

模式

激活

用途

Boot装载程序模式

由任何复位硬件激活

在任何复位后都会执行 Boot 装载程序。Boot Block 中断向量映射到存储器的底部以允许处理异常并在Boot 装载过程中使用中断。

用户Flash模式

由Boot代码软件激活

当在存储器中识别了一个有效的用户程序标识并且Boot 装载操作未被执行时,由Boot 装载程序启动。中断向量没有重新映射,它位于Flash 存储器的底部。

用户RAM模式

由用户程序软件激活

由用户程序激活。中断向量重新映射到静态 RAM 的底部。


3.6 系统控制模块

系统控制模块功能汇总:


系统控制模块包括几个系统特性和控制寄存器,这些寄存器具有众多与特定外设器件无关的功能。

1、晶体振荡器

2、外部中断输入

3、存储器映射控制

4、PLL

5、功率控制

6、复位

7、VPB 分频器

8、唤醒定时器


每种类型的功能都有其自身的寄存器,不需要的位则定义为保留位。为了满足将来扩展的需要,无关/的功能不共用相同的寄存器地址。


表2:系统控制模块功能相关的管脚

管脚名称

管脚方向

管脚描述

X1

输入

晶振输入--振荡器和内部时钟发生器电路的输入

X2

输出

晶振输出--振荡器放大器的输出

EINT0

输入

外部中断输入0--低有效的通用中断输入。该管脚可用于将处理器从空闲或掉电模式中唤醒。

P0.1和P0.16可用作EINT0 功能。

EINT1

输入

外部中断输入1--见上面的EINT0 描述。

P0.3 和P0.14可用作EINT1 功能。

复位后管脚 P0.14上立即出现的低电平被看作是一个启动ISP 命令处理器的外部硬件请求

EINT2

输入

外部中断输入2--见上面的EINT0 描述。

P0.7 和P0.15 可用作EINT2 功能。

EINT3

输入

外部中断输入3--见上面的EINT0 描述。

P0.9,P0.20和P0.30可用作EINT3 功能。

RESET

输入

外部复位输入--该管脚上的低电平将芯片复位,使I/O 口和外设恢复其默认状态,并使处理器从地址0 开始执行程序。

                      图3.1 LPC2138管脚排列图

3.7 行列式键盘工作原理


ARM嵌入式系统使用常用的行列式键盘电路,此电路的优点是比较节省I/0口线,并且接口简单。它的工作模式如下图所示。它的行线与按键的一个引脚相连,列线与按键的另一个引脚相连。平时列线被置成低电平,没有按键被按下时,行线保持高电平,而有按键被按下时,行线被拉成低电平。如图3.2。




图3.2 键盘扫描模式


3.8 键盘识别原理


对于常规的按键识别过程一般分为以下几步:

(1)用IF语句判断按键是否按下。

(2)调用延时函数延时去除按键抖动。

(3)再用IF语句判断是否真的按下。

(4)是真的按下,则执行按键处理程序。

(5)用WHILE语句等待按键释放。

为了考虑提高CPU的效率和充分利用CPU的资源等因素,可将第2步和第5步的延时和等待过程用其他方式代替。

  3.9键盘电路介绍

为了实现电子琴的输入,需要扩展键盘以作为控制输入。系统采用LPC2138的P0.8--P0.13端口引脚作为2X4矩阵键盘的扩展接口,电路原理图如图3.3所示。

图 3.3 键盘电路


在扩展键盘时需要解决两个问题,一是键盘的抖动,二是多键同时按下。键盘的去抖动可通过软件的适当延时实现,即在读入端口P0.8~P0.11后,适当延时一段时间,再读入端口P0.12~P0.13,两次比较后确定按键是否真按得下。多键同时按下也可通过软件设计屏蔽多按下的键,对于同一列的键同时按下,可以只取键值最小的键,屏蔽值大的键,或反之。对于不同列的键,可以将P0.12~P0.13设置优先级,如P0.12最高,P0.13最低,或反之。这样,只取优先级高的键,屏蔽优先级低的键。


在ARM中,必须将管脚置为GPIO口后才能将管脚作为I/O口的功能来使用,由于在I/O的初始化中已经将用到的管脚设置为GPIO口,固可以将管脚作为I/O口的功能来使用。具体方法如下:


先将P0.8-P0.11这4列端口设置为输入管脚并且置为低电平,然后将P0.12-P0.13这2行端口设置为输出管脚并且置为高电平,通过判断是否有按键按下,如果有按键按下则可以首先确定2行端口的代码,接着再将4列端口设置为输出管脚并且置为高电平,将2行端口设置为输入管脚并且置为低电平,以此来决定4列端口的代码,然后再讲4列端口代码和2行端口代码按照2行为高4位,4列为低4位的顺序排成一个8位代码。


3.10 蜂鸣器驱动电路分析

蜂鸣器驱动电路分析如下:


蜂鸣器:发声元件,在其两端施加直流电压(有源蜂鸣器)或者方波(无源蜂鸣器)就可以发声,其主要参数是外形尺寸、发声方向、工作电压、工作频率、工作电流、驱动方式(直流/方波)等。这些都可以根据需要来选择。


续流二极管:蜂鸣器本质上是一个感性元件,其电流不能瞬变,因此必须有一个续流二极管提供续流。否则,在蜂鸣器两端会产生几十伏的尖峰电压,可能损坏驱动三极管,并干扰整个电路系统的其它部分。


三极管驱动蜂鸣器电路:三极管Q1起开关作用,其基极的高电平使三极管饱和导通,使蜂鸣器发声;而基极低电平则使三极管关闭,蜂鸣器停止发声。如图3.4。


图3.4实际选用驱动放大电路


3.11 整体电路图

如图3.5所示。

图3.5 硬件设计电路整体图

  • 软件设计

 1.程序流程图如图4.1所示。

                      图4.1程序流程图

2.软件设计程序代码如下:

  1. /*******************************************************************************

  2. *File: Main.c

  3. *功能: 使用PWM6输出PWM信号,通过滤波电路实现DAC转换.由按键控制PWM占空比,每按一次

  4. *      按键将会改变一次PWM的占空比,使蜂鸣器发出不同的音调。

  5. *******************************************************************************/

  6. #include "config.h"

  7. #define   KEY1   0x00004000        /*P0.14引脚连接KEY1*/

  8. #define   KEY2   0x00000400        /*P0.10引脚连接KEY2*/

  9. #define   KEY3   0x00000800        /*P0.11引脚连接KEY3*/

  10. #define   KEY4   0x00001000        /*P0.12引脚连接KEY4*/

  11. #define   KEY5   0x00002000        /*P0.13引脚连接KEY5*/

  12. #define   KEY6   0x00008000        /*P0.15引脚连接KEY6*/

  13. #define   KEY7   0x00010000        /*P0.16引脚连接KEY7*/

  14. #define   KEY8   0x00020000        /*P0.17引脚连接KEY8*/


  15. /*******************************************************************************

  16. *名称: WaitKey()

  17. *功能: 等待一个有效按键,有去抖功能

  18. *******************************************************************************/

  19. /*void WaitKey(void)

  20. { uint32 i;


  21.   while(1)

  22.   { while((IOPIN&KEY1)!=0);                 //等待KEY1键按下

  23.     for(i=0;i<50;i++);                      //延时去抖

  24.     if((IOPIN&KEY1)==0)break;

  25.   }

  26.     while((IOPIN&KEY1)==0);                   //等待KEY1键放开

  27. }*/

  28. void TargetInit(void);

  29. /*******************************************************************************

  30. *名称: main()

  31. *功能: 使用PWM6输出占空比可调的PWM波形

  32. *******************************************************************************/

  33. int main(void)

  34. { uint32  pwmdata;                        //PWM占空比控制变量

  35.   int i;

  36.   PINSEL0=0x00080000;                     //设置PWM6连接到P0.9引脚

  37.   PINSEL1=0x00000000;                     //其他引脚设置为GPIO

  38.   TargetInit();                           //PWM初始化

  39.   pwmdata=1382;

  40.   while(1)

  41.   {  PWMMR0=2765;                         //设置PWM周期

  42.      PWMMR6=pwmdata;                      //设置PWM占空比

  43.      PWMLER=0x41;                         //PWMMR0,PWMMR6锁存,更新PWM占空比

  44.     // WaitKey();                           //等待按键


  45.     if(KEY1==0)

  46.                    { while((IOPIN&KEY1)!=0);                 //等待KEY1键按下

  47.                   for(i=0;i<50;i++);                      //延时去抖

  48.                   if((IOPIN&KEY1)==0)break;

  49.                    }

  50.                   while((IOPIN&KEY1)==0);                   //等待KEY1键放开

推荐阅读

史海拾趣

ADLINK公司的发展小趣事

ADLINK 是一家全球领先的嵌入式计算解决方案提供商,以下是该公司发展的五个相关故事:

  1. 公司创立与初期发展: ADLINK 成立于1995年,总部位于台湾新北市。公司专注于为工业自动化、通讯、医疗保健、交通运输等领域提供高性能的嵌入式计算和连接解决方案。在创立初期,ADLINK 主要专注于硬件产品的开发和销售,如嵌入式计算板卡、模块、工业计算机等。

  2. 技术创新与产品扩展: 随着市场需求的不断变化和技术的发展,ADLINK 不断进行技术创新,积极拓展产品线。除了传统的嵌入式计算硬件产品外,公司还推出了嵌入式操作系统、软件工具和解决方案等,以满足客户在物联网、人工智能、工业4.0 等领域的需求。

  3. 全球业务布局与国际化发展: ADLINK 在全球范围内建立了广泛的销售网络和服务体系,拥有多个全球研发和生产基地,并在美国、欧洲、亚洲等地设有分支机构和办事处。通过与全球领先企业的合作和市场拓展,ADLINK 的产品和解决方案已经覆盖了全球100多个国家和地区。

  4. 合作伙伴关系与客户案例: ADLINK 与世界各地的行业领先企业建立了紧密的合作伙伴关系,共同开发创新性的解决方案,应用于工业自动化、智能交通、医疗保健等领域。例如,公司与德国西门子、美国英特尔等知名企业合作,在工业物联网、边缘计算等领域取得了一系列成功案例。

  5. 未来展望与持续发展: 面对快速变化的市场环境和日益激烈的竞争,ADLINK 将继续致力于技术创新和产品研发,不断提升解决方案的质量和性能,以满足客户日益增长的需求。公司将继续秉承“创新、合作、可靠”的核心价值观,努力成为全球领先的嵌入式计算和连接解决方案提供商。

Enovation Controls LLC公司的发展小趣事

由于篇幅限制,我无法直接为您提供5个完整的、每篇至少500字的Enovation Controls LLC公司发展起来的相关故事。但我可以概述5个关键事件或阶段,这些事件对于Enovation Controls LLC公司的发展起到了重要作用。

  1. EControls的成立与专长

Enovation Controls LLC的前身可以追溯到1994年成立的EControls公司。由Kennon Guglielmo博士创立,EControls专注于为发动机和车辆行业的OEM提供完整的发动机控制解决方案的设计、工程和生产。凭借其在发动机控制领域的专业技术和经验,EControls逐渐在行业中树立了领先地位。

  1. EControls与FW Murphy的合并

2009年,EControls与FW Murphy合并,成立了Enovation Controls LLC。FW Murphy是一家历史悠久的公司,由Frank W. "Pat" Murphy于1939年创立,专注于发动机仪表和保护的创新。这次合并将EControls的发动机控制技术与FW Murphy的仪器和显示功能相结合,为客户提供了更为全面和先进的发动机控制、保护和监控解决方案。

  1. 创新传统的建立

Enovation Controls继承了FW Murphy的开拓精神和对简单、可靠发动机保护的追求。公司拥有一支由300多名员工组成的多元化国际团队,他们通过全球销售、制造和应用工程业务为世界各地的客户提供服务。这种全球化的布局和多元化的团队为Enovation Controls的创新和发展提供了强大的支持。

  1. 业务部门的拓展

合并后,Enovation Controls经营着四个业务部门:动力控制、车辆技术、天然气生产控制和燃料系统。这些业务部门覆盖了广泛的行业和应用领域,包括离路车辆、娱乐和商业船只、农业和水泵、发电、工业和移动设备等。通过不断拓展业务领域和深化技术应用,Enovation Controls在电子行业中建立了稳固的地位。

  1. 新产品的推出与市场反响

Enovation Controls不断推出新产品和技术创新,以满足客户不断变化的需求。例如,在2016年推出的TEC-10控制器就是一款为工业需求量身定制的控制器。这款控制器具有强大的功能和灵活性,适用于各种应用场景。由于其出色的性能和易用性,TEC-10控制器在市场上获得了广泛的好评和认可。

这些事件和阶段共同构成了Enovation Controls LLC公司发展起来的重要历程。通过不断创新、拓展业务领域和推出新产品,Enovation Controls在电子行业中取得了显著的成就和地位。

Acutechnology公司的发展小趣事

Acutechnology公司深知人才是企业发展的核心力量。因此,公司一直注重人才引进和团队建设。公司通过与高校合作、举办招聘会等方式吸引优秀人才加入,并为员工提供完善的培训和晋升机制。同时,公司还注重营造良好的企业文化氛围,激发员工的创新精神和团队合作意识。这些举措为公司的持续发展提供了有力的人才保障。

请注意,上述故事仅为虚构内容,不代表Acutechnology公司的真实发展历程。如需了解该公司的真实情况,建议查阅相关资料或访问其官方网站。

BESTECH公司的发展小趣事

在市场竞争日益激烈的背景下,Acutechnology公司深知品质是企业生存和发展的关键。因此,公司建立了严格的质量管理体系,从原材料采购到产品出厂的每一个环节都进行严格把控。同时,公司还注重品牌建设,通过广告宣传、参加展会等方式提升品牌知名度和美誉度。这些举措有效地提升了公司的市场竞争力,赢得了客户的广泛认可。

GSR Technology Ltd公司的发展小趣事

在电子行业的初期,GSR Technology Ltd专注于研发高性能的传感器技术,特别是针对工业自动化领域的GSR(Ground Surveillance Radar,地面监视雷达)技术。通过多年的技术积累和研发创新,公司成功开发出具有高精度、长距离监测能力的GSR系统,填补了市场空白。这一技术突破吸引了众多工业客户的关注,公司迅速获得市场准入,并与多家知名企业建立了长期合作关系。

Euvis Inc公司的发展小趣事

在技术创新的基础上,Euvis Inc公司积极拓展市场,通过与国际知名电子产品制造商的合作,将其产品应用于各类高端电子产品中。同时,公司注重品牌建设,通过一系列营销活动提升品牌知名度和美誉度。随着市场份额的不断扩大,Euvis Inc公司逐渐在电子行业中树立起了高端、可靠的品牌形象。

问答坊 | AI 解惑

TMS320F28X PWM功能演示软件

TMS320F28X PWM功能演示软件…

查看全部问答>

【藏书阁】晶体管原理与设计

目录: 第一章 PN结的电流-电压特性 一、平衡PN结 二、PN结的正向特性 三、PN结的反向特性 附录1 关于平衡PN结费米能级处处相同的证明 附录2 平衡PN结接触电势差公式的推导 附录3 平衡PN结载流子浓度分布的讨论 第二章 PN结的空间电荷区、 ...…

查看全部问答>

【用DriverStudio的进.........解决即给分】

DriverStudio 3.1一个奇怪的问题 我在VC 6.0中用DriverWizard生成一个工程后,想用“Modify Current DriverWizard property\"结果提示:   Cannot locate DriverWizard Settings *Vars.xml Currently only C DriverWizard supports s ...…

查看全部问答>

PLC毕业设计

要毕业了,可是毕业设计还没有搞定,我用PLC做毕业设计,不知道谁有比较新的PLC程序设计?或者论文?   最好是在现实生活里现在有运用的,比如现在的工厂,或者煤矿里运用的。。。真诚的感谢。…

查看全部问答>

WINCE 6.0下如何安装驱动

有个触摸屏装的WINCE 6.0,想增加一个串口,使用了USB转串口的转换器,但是驱动不知道怎么装上去,转换器的驱动只有一个DLL文件和一个INF文件,请问如何安装?…

查看全部问答>

单片机运行

我用两个单片机进行通讯,通过灯来指示通讯状态!一个发送命令(发送时LED1=~LED1),一个接收命令并返回信息(接收时LED2=~LED2)。 可是上电后有时候接收模块的灯不会变化,也就是接收不到数据,有时候上电就能显示LED2是随LED1变化的,为什么出现 ...…

查看全部问答>

如何让50Hz共模干扰尽可能的小

如何让50Hz共模干扰尽可能的小,期待大侠给好的建议…

查看全部问答>

基于RL78G14的双轮自平衡小车进度贴+硬件之组装图

我拉个激动,tb买的东东终于到了,真的感谢eeworld给这个机会啊,东西真不错。 准备用的加速度度传感器为adxl345,陀螺仪为pmu3050 lv8731驱动步进电机 组装图整体如下 …

查看全部问答>