groupUrl: https://ez.analog.com/cn/mems/
Analog.com Analog Dialogue Wiki English
Analog.com Analog Dialogue Wiki 简体中文
EngineerZone
EngineerZone
  • Site
  • User
  • Site
  • Search
  • User
EngineerZone
EngineerZone
  • Log in
  • Site
  • Search
  • Log in
  • Home
  • Blogs ⌵
    • EZ Spotlight
    • The Engineering Mind
  • Browse ⌵
    • All Groups
    • All Members
  • Support ⌵
    • 3D ToF Depth Sensing
    • A2B
    • Aerospace and Defense (ADEF)
    • Amplifiers
    • Analog Microcontrollers
    • Analysis Control Evaluation (ACE) Software
    • Audio
    • Clock and Timing
    • Condition-Based Monitoring
    • Data Converters
    • Design Tools and Calculators
    • Direct Digital Synthesis (DDS)
    • Embedded Vision Sensing
    • Energy Monitoring and Metering
    • FPGA Reference Designs
    • Industrial Ethernet
    • Interface and Isolation
    • Low Power RF Transceivers
    • MEMS Inertial Sensors
    • Motor Control Hardware Platforms
    • Optical Sensing
    • Power Management
    • Precision Technology Signal Chains
    • Processors and DSP
    • Reference Designs
    • RF and Microwave
    • Signal Chain Power (SCP)
    • Switches/Multiplexers
    • Temperature Sensors
    • Video
    • Wide Band RF Transceivers
    • Wireless Sensor Networks Reference Library
  • About EZ
  • More
  • Cancel
  • 主页
  • 浏览 ⌵
    • 收件箱
    • 个人设置
    • 会员
    • 专区列表
  • 论坛专区 ⌵
    • 放大器专区
    • 精密转换器专区
    • 音频专区
    • ADE电能计量专区
    • MEMS专区
    • VSM生物传感器专区
    • 接口和隔离专区
    • Power 中文专区
    • ADUC微处理器专区
    • 锁相环专区
    • 开关和多路复用器专区
    • 温度传感器
    • 基准电压源专区
    • 资源库
    • 论坛使用指南
    • 技术支持参考库
    • 在线研讨会
    • 论坛社群活动
    • 论坛激励活动
  • More
  • Cancel
MEMS专区
  • 中文社区
MEMS专区
文档 ADXL345的STM32驱动程序和硬件设计(ZT)
  • 问答
  • 讨论
  • 文档
  • 成员
  • 标签
  • More
  • Cancel
  • New
MEMS专区 requires membership for participation - click to join
  • 文档
  • ADI专家为您详解关键体征信号监测方案的要素
  • ADI汽车传感器和传感器接口解决方案
  • ADI设计峰会讲义分享——低电平信号采集传感器
  • ADXL345的STM32驱动程序和硬件设计(ZT)
  • [ADI微博问答精选]如何设置BF518的1588的PPS输出高电平时间
  • “家”即是心所在 ——ADI专家谈家庭健康监测应用
  • 【转帖】通过针对GMI次传感器的研究设计,谈谈传感器的设计
  • 三星具有健身追踪的可穿戴设备Gear Fit最详细拆解之内部构造与传感器
  • 几种传感应用及信号放大方案分析 (文档下载)
  • 夏说高温与电路设计——高温电路设计的几条建议
  • 媒体关注:MEMS智能传感器普及 ADI从三大领域出击
  • 工程师百问百答——测试与测量方法以及解决方案
  • 开学季,ADI论坛有奖“助学”礼品开抢啦~ ~
  • 微信焦点(第8期):内行看门道——解读火爆的多轴飞行器传感器技术
  • 技术支持论坛三重奖——注册、发帖、跟帖, 步步好礼
  • 技术文章分享:电容传感器取代机械开关,让便携产品“一触即发”
  • 说出您心中的ADI年度“贺岁片”,发帖、跟帖送大奖,赶快行动,马上有好礼!
  • 转发DS18B20时序详解学习资料
  • 转发PT100学习资料
  • 高温与电路与设计——芯片的极限温度与额定电压和电流一样是绝对的吗?

ADXL345的STM32驱动程序和硬件设计(ZT)

STM32 Driver and Hardware Design for ADXL345 (ZT) by ADIForum

The netizen "Hunting Stars" was posted on Sina Weibo's blog post - "ADTM345 STM32 Driver and Hardware Design" (original link http://blog.sina.com.cn/s/blog_6754612e0101ag39.html ), with the author's consent Forward this forum

 

First, the hardware circuit interface picture

  1. The ADXL345 hardware interface picture uses the SPI port for communication, so that the data is read faster and can be converted into the IIC communication interface.

 

I found some IIC interfaces on the Internet, so I will do SPI communication on DIY.

2.STM32F103T series MCU    is rich in MCU resources, I am familiar with development speed.

The hardware circuit is first to achieve the function, so the design is relatively simple. Subsequent Xiaobian wants to do wireless Bluetooth data transmission, so the hardware interface of Bluetooth serial communication and 3.3V power management are also left on the hardware.

                                        

For the time being, the hardware is designed in such a way that it is designed as a double-layer PCB, thus reducing the space. Capacitance and resistance are 0805 easy to solder. The device is selected as a patch.

Second, the microcontroller driver code

1.ADXL345 port configuration function

#define ADXL345_FLAG_TIMEOUT ((uint32_t)0x1000)

#define ADXL345_SPI                                                        SPI1

#define ADXL345_SPI_CLK                                              RCC_APB2Periph_SPI1

#define ADXL345_SPI_SCK_PIN                                     GPIO_Pin_5                

#define ADXL345_SPI_SCK_GPIO_PORT                     GPIOA                     

#define ADXL345_SPI_SCK_GPIO_CLK                        RCC_APB2Periph_GPIOA

#define ADXL345_SPI_SCK_SOURCE                           GPIO_PinSource5

#define ADXL345_SPI_SCK_AF                                       GPIO_AF_5

#define ADXL345_SPI_MISO_PIN                                     GPIO_Pin_6                

#define ADXL345_SPI_MISO_GPIO_PORT                     GPIOA                     

#define ADXL345_SPI_MISO_GPIO_CLK                        RCC_APB2Periph_GPIOA

#define ADXL345_SPI_MISO_SOURCE                           GPIO_PinSource6

#define ADXL345_SPI_MISO_AF                                       GPIO_AF_5

#define ADXL345_SPI_MOSI_PIN                                      GPIO_Pin_7                

#define ADXL345_SPI_MOSI_GPIO_PORT                      GPIOA                     

#define ADXL345_SPI_MOSI_GPIO_CLK                         RCC_APB2Periph_GPIOA

#define ADXL345_SPI_MOSI_SOURCE                           GPIO_PinSource7

#define ADXL345_SPI_MOSI_AF                                       GPIO_AF_5

#define ADXL345_SPI_CS_PIN                                          GPIO_Pin_2                

#define ADXL345_SPI_CS_GPIO_PORT                          GPIOB                     

#define ADXL345_SPI_CS_GPIO_CLK                             RCC_APB2Periph_GPIOB

#define ADXL345_SPI_INT1_PIN                                        GPIO_Pin_0                

#define ADXL345_SPI_INT1_GPIO_PORT                        GPIOB                     

#define ADXL345_SPI_INT1_GPIO_CLK                           RCC_APB2Periph_GPIOB

#define ADXL345_SPI_INT1_EXTI_LINE                            EXTI_Line0

#define ADXL345_SPI_INT1_EXTI_PORT_SOURCE      EXTI_PortSourceGPIOB

#define ADXL345_SPI_INT1_EXTI_PIN_SOURCE           EXTI_PinSource0

#define ADXL345_SPI_INT1_EXTI_IRQn                            EXTI0_IRQn

#define ADXL345_SPI_INT2_PIN                                         GPIO_Pin_1                

#define ADXL345_SPI_INT2_GPIO_PORT                         GPIOB                     

#define ADXL345_SPI_INT2_GPIO_CLK                            RCC_APB2Periph_GPIOB

#define ADXL345_SPI_INT2_EXTI_LINE                            EXTI_Line1

#define ADXL345_SPI_INT2_EXTI_PORT_SOURCE       EXTI_PortSourceGPIOB

#define ADXL345_SPI_INT2_EXTI_PIN_SOURCE            EXTI_PinSource1

#define ADXL345_SPI_INT2_EXTI_IRQn                             EXTI1_IRQn

#define ADXL345_WHO_AM_I_ADDR                   0x0F

#define ADXL345_CTRL_REG1_ADDR                 0x20

#define ADXL345_CTRL_REG2_ADDR                 0x21

#define ADXL345_CTRL_REG3_ADDR                 0x22

#define ADXL345_CTRL_REG4_ADDR                 0x23

#define ADXL345_CTRL_REG5_ADDR                 0x24

#define ADXL345_REFERENCE_REG_ADDR     0x25

#define ADXL345_OUT_TEMP_ADDR                   0x26

#define ADXL345_STATUS_REG_ADDR              0x27

#define ADXL345_OUT_X_L_ADDR                       0x28

#define ADXL345_OUT_X_H_ADDR                      0x29

#define ADXL345_OUT_Y_L_ADDR                       0x2A

#define ADXL345_OUT_Y_H_ADDR                      0x2B

#define ADXL345_OUT_Z_L_ADDR                       0x2C

#define ADXL345_OUT_Z_H_ADDR                      0x2D

#define ADXL345_FIFO_CTRL_REG_ADDR        0x2E

#define ADXL345_FIFO_SRC_REG_ADDR         0x2F

#define ADXL345_INT1_CFG_ADDR                    0x30

#define ADXL345_INT1_SRC_ADDR                    0x31

#define ADXL345_INT1_TSH_XH_ADDR             0x32

#define ADXL345_INT1_TSH_XL_ADDR             0x33

#define ADXL345_INT1_TSH_YH_ADDR             0x34

#define ADXL345_INT1_TSH_YL_ADDR             0x35

#define ADXL345_INT1_TSH_ZH_ADDR            0x36

#define ADXL345_INT1_TSH_ZL_ADDR             0x37

#define ADXL345_INT1_DURATION_ADDR       0x38

#define I_AM_ADXL345      ((uint8_t)0xD4)

#define ADXL345_MODE_POWERDOWN       ((uint8_t)0x00)

#define ADXL345_MODE_ACTIVE          ((uint8_t)0x08)

#define ADXL345_OUTPUT_DATARATE_1    ((uint8_t)0x00)

#define ADXL345_OUTPUT_DATARATE_2    ((uint8_t)0x40)

#define ADXL345_OUTPUT_DATARATE_3    ((uint8_t)0x80)

#define ADXL345_OUTPUT_DATARATE_4    ((uint8_t)0xC0)

#define ADXL345_X_ENABLE            ((uint8_t)0x02)

#define ADXL345_Y_ENABLE            ((uint8_t)0x01)

#define ADXL345_Z_ENABLE            ((uint8_t)0x04)

#define ADXL345_AXES_ENABLE         ((uint8_t)0x07)

#define ADXL345_AXES_DISABLE        ((uint8_t)0x00)

#define ADXL345_BANDWIDTH_1         ((uint8_t)0x00)

#define ADXL345_BANDWIDTH_2         ((uint8_t)0x10)

#define ADXL345_BANDWIDTH_3         ((uint8_t)0x20)

#define ADXL345_BANDWIDTH_4         ((uint8_t)0x30)

#define ADXL345_FULLSCALE_250               ((uint8_t)0x00)

#define ADXL345_FULLSCALE_500               ((uint8_t)0x10)

#define ADXL345_FULLSCALE_2000              ((uint8_t)0x20)

#define ADXL345_BlockDataUpdate_Continous   ((uint8_t)0x00)

#define ADXL345_BlockDataUpdate_Single      ((uint8_t)0x80)

#define ADXL345_BLE_LSB                     ((uint8_t)0x00)

#define ADXL345_BLE_MSB                    ((uint8_t)0x40)

#define ADXL345_HIGHPASSFILTER_DISABLE      ((uint8_t)0x00)

#define ADXL345_HIGHPASSFILTER_ENABLE      ((uint8_t)0x10)

#define ADXL345_INT1INTERRUPT_DISABLE       ((uint8_t)0x00)

#define ADXL345_INT1INTERRUPT_ENABLE    ((uint8_t)0x80)

#define ADXL345_INT2INTERRUPT_DISABLE       ((uint8_t)0x00)

#define ADXL345_INT2INTERRUPT_ENABLE    ((uint8_t)0x08)

#define ADXL345_INT1INTERRUPT_LOW_EDGE      ((uint8_t)0x20)

#define ADXL345_INT1INTERRUPT_HIGH_EDGE     ((uint8_t)0x00)

#define ADXL345_BOOT_NORMALMODE             ((uint8_t)0x00)

#define ADXL345_BOOT_REBOOTMEMORY           ((uint8_t)0x80)

#define ADXL345_HPM_NORMAL_MODE_RES         ((uint8_t)0x00)

#define ADXL345_HPM_REF_SIGNAL              ((uint8_t)0x10)

#define ADXL345_HPM_NORMAL_MODE             ((uint8_t)0x20)

#define ADXL345_HPM_AUTORESET_INT           ((uint8_t)0x30)

#define ADXL345_HPFCF_0              0x00

#define ADXL345_HPFCF_1              0x01

#define ADXL345_HPFCF_2              0x02

#define ADXL345_HPFCF_3              0x03

#define ADXL345_HPFCF_4              0x04

#define ADXL345_HPFCF_5              0x05

#define ADXL345_HPFCF_6              0x06

#define ADXL345_HPFCF_7              0x07

#define ADXL345_HPFCF_8              0x08

#define ADXL345_HPFCF_9              0x09

#define ADXL345_CS_LOW()       GPIO_ResetBits(ADXL345_SPI_CS_GPIO_PORT, ADXL345_SPI_CS_PIN)

#define ADXL345_CS_HIGH()      GPIO_SetBits(ADXL345_SPI_CS_GPIO_PORT, ADXL345_SPI_CS_PIN)

void ADXL345_Init(ADXL345_InitTypeDef *ADXL345_InitStruct);

void ADXL345_RebootCmd(void);

void ADXL345_INT1InterruptCmd(uint8_t InterruptState);

void ADXL345_INT2InterruptCmd(uint8_t InterruptState);

void ADXL345_INT1InterruptConfig(ADXL345_InterruptConfigTypeDef *ADXL345_IntConfigStruct);

uint8_t ADXL345_GetDataStatus(void);

void ADXL345_FilterConfig(ADXL345_FilterConfigTypeDef *ADXL345_FilterStruct);

void ADXL345_FilterCmd(uint8_t HighPassFilterState);

void ADXL345_Write(uint8_t* pBuffer, uint8_t WriteAddr, uint16_t NumByteToWrite);

void ADXL345_Read(uint8_t* pBuffer, uint8_t ReadAddr, uint16_t NumByteToRead);

2.ADXL345的SPI配置函数

void SPI_init(void)

{

  GPIO_InitTypeDef GPIO_InitStructure;

  SPI_InitTypeDef    SPI_InitStructure;

  RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO | RCC_APB2Periph_GPIOA |

                         RCC_APB2Periph_GPIOB, ENABLE);

  RCC_APB2PeriphClockCmd(ADXL345_SPI_CLK ,ENABLE);

  GPIO_StructInit(&GPIO_InitStructure);

  GPIO_InitStructure.GPIO_Pin =ADXL345_SPI_CS_PIN ;

  GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;

  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

  GPIO_Init(ADXL345_SPI_CS_GPIO_PORT, &GPIO_InitStructure);

  GPIO_SetBits(ADXL345_SPI_CS_GPIO_PORT,ADXL345_SPI_CS_PIN);

  GPIO_StructInit(&GPIO_InitStructure);

  GPIO_InitStructure.GPIO_Pin =ADXL345_SPI_SCK_PIN|ADXL345_SPI_MISO_PIN|ADXL345_SPI_MOSI_PIN;

  GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;

  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

  GPIO_Init(ADXL345_SPI_MOSI_GPIO_PORT, &GPIO_InitStructure);

   SPI_InitStructure.SPI_Direction=SPI_Direction_2Lines_FullDuplex;

   SPI_InitStructure.SPI_Mode=SPI_Mode_Master;

   SPI_InitStructure.SPI_DataSize = SPI_DataSize_16b;

   SPI_InitStructure.SPI_CPOL=SPI_CPOL_High;

   SPI_InitStructure.SPI_CPHA=SPI_CPHA_2Edge;

   SPI_InitStructure.SPI_NSS=SPI_NSS_Soft;

   SPI_InitStructure.SPI_BaudRatePrescaler=SPI_BaudRatePrescaler_256;

   SPI_InitStructure.SPI_FirstBit=SPI_FirstBit_MSB;

   SPI_InitStructure.SPI_CRCPolynomial=7;

   SPI_Init(ADXL345_SPI, &SPI_InitStructure);

   SPI_Cmd(ADXL345_SPI,ENABLE); 

}

 

3.ADXL345初始化配置函数

void ADXL345_init(void)

{

    SPI_init();   //ADXL345¶Ë¿Ú³õʼ»¯ÅäÖÃSPIͨÐÅ

   ADXL345_write_byte(0x1E,0x00); //X Æ«ÒÆÁ¿ ¸ù¾Ý²âÊÔ´«¸ÐÆ÷µÄ״̬дÈëpdf29Ò³ 0X00 (15.6mg/LSB)

   ADXL345_write_byte(0x1F,0x00); //Y Æ«ÒÆÁ¿ ¸ù¾Ý²âÊÔ´«¸ÐÆ÷µÄ״̬дÈëpdf29Ò³ 0X00 (15.6mg/LSB)

   ADXL345_write_byte(0x20,0x00); //Z Æ«ÒÆÁ¿ ¸ù¾Ý²âÊÔ´«¸ÐÆ÷µÄ״̬дÈëpdf29Ò³ 0X00 (15.6mg/LSB)

   ADXL345_write_byte(0x21,0x00);  //Çû÷ÑÓʱ0:½ûÓÃ; (1.25ms/LSB)

   ADXL345_write_byte(0x22,0x00);  //¼ì²âµÚÒ»´ÎÇû÷ºóµÄÑÓʱ0:½ûÓÃ; (1.25ms/LSB)

   ADXL345_write_byte(0x23,0x00);  //Çû÷´°¿Ú0:½ûÓÃ; (1.25ms/LSB)

   ADXL345_write_byte(0x24,0x01);  //±£´æ¼ì²â»î¶¯·§Öµ; (62.5mg/LSB)

   ADXL345_write_byte(0x25,0x01);  //±£´æ¼ì²â¾²Ö¹·§Öµ; (62.5mg/LSB)

   ADXL345_write_byte(0x26,0x2B);  //¼ì²â»î¶¯Ê±¼ä·§Öµ; (1s/LSB)

   ADXL345_write_byte(0x27,0x00);  //

   ADXL345_write_byte(0x28,0x09);  //×ÔÓÉÂäÌå¼ì²âÍÆ¼ö·§Öµ; (62.5mg/LSB)

   ADXL345_write_byte(0x29,0xFF);  //×ÔÓÉÂäÌå¼ì²âʱ¼ä·§Öµ,ÉèÖÃΪ×î´óʱ¼ä; (5ms/LSB)

   ADXL345_write_byte(0x2A,0x80);  //

   //ADXL345_read_byte(0x2B);    //Ö»¶Á¼Ä´æÆ÷,״̬¶ÁÈ¡

   ADXL345_write_byte(0x2C,0x0F); //ËÙÂÊÉ趨Ϊ3200HZ²Î¿¼pdf13Ò³ 0X0A 1OO,0X0E 1600HZ

   ADXL345_write_byte(0x2D,0x08); //Ñ¡ÔñµçԴģʽ¹Ø±Õ×Ô¶¯ÐÝÃß,ÐÝÃß,»½Ðѹ¦Äܲο¼pdf24Ò³

   ADXL345_write_byte(0x2E,0x80);  //ʹÄÜ DATA_READY ÖжÏ

   ADXL345_write_byte(0x2F,0x00);

   //ADXL345_read_byte(0x30);    //Ö»¶Á¼Ä´æÆ÷,״̬¶ÁÈ¡

   ADXL345_write_byte(0x31,0X0B); //Êý¾ÝͨПñʽ;ÉèÖÃΪ×Լ칦ÄܽûÓÃ,4ÏßÖÆSPI½Ó¿Ú,µÍµçƽÖжÏÊä³ö,13λȫ·Ö±æÂÊ,Êä³öÊý¾ÝÓÒ¶ÔÆë,16gÁ¿³Ì

   ADXL345_write_byte(0x38,0x00);  //FIFOģʽÉ趨,Streamģʽ£¬´¥·¢Á¬½ÓINT1,31¼¶Ñù±¾»º³å

  //ADXL345_read_byte(0x39);    //Ö»¶Á¼Ä´æÆ÷,״̬¶ÁÈ¡

}

 

4.ADXL345的读写函数

u8 ADXL345_read_byte(u8 add)

{

     GPIO_ResetBits(ADXL345_SPI_CS_GPIO_PORT ,ADXL345_SPI_CS_PIN);

     SPI_I2S_SendData(ADXL345_SPI,(add|0x80)<<8|0x00);

    while(SPI_I2S_GetFlagStatus(ADXL345_SPI,SPI_I2S_FLAG_TXE)==RESET);

    while(SPI_I2S_GetFlagStatus(ADXL345_SPI, SPI_I2S_FLAG_RXNE)==RESET);

    GPIO_SetBits(ADXL345_SPI_CS_GPIO_PORT ,ADXL345_SPI_CS_PIN);

    return SPI_I2S_ReceiveData(ADXL345_SPI)&0xff;

  }

void ADXL345_write_byte(u8 add,u8 val)

{

     GPIO_ResetBits(ADXL345_SPI_CS_GPIO_PORT ,ADXL345_SPI_CS_PIN);

     SPI_I2S_SendData(ADXL345_SPI,add<<8|val);

    while(SPI_I2S_GetFlagStatus(ADXL345_SPI,SPI_I2S_FLAG_TXE)==RESET);

    while(SPI_I2S_GetFlagStatus(ADXL345_SPI, SPI_I2S_FLAG_RXNE)==RESET);

    GPIO_SetBits(ADXL345_SPI_CS_GPIO_PORT ,ADXL345_SPI_CS_PIN);

     SPI_I2S_ReceiveData(ADXL345_SPI)&0xff;

  }

void ADXL345_ReadXYZ(float *g)

{

    uint8_t BUF[6];   // ´æ·ÅX,Y,ZÖáµÄÊý¾Ý

    int16_t temp;

    BUF[0] = ADXL345_read_byte(0x32); 

    BUF[1] = ADXL345_read_byte(0x33);

     delay_ms(1);  

    BUF[2] = ADXL345_read_byte(0x34);

    BUF[3] = ADXL345_read_byte(0x35);

     delay_ms(1);   

    BUF[4] = ADXL345_read_byte(0x36); 

    BUF[5] = ADXL345_read_byte(0x37);  

      delay_ms(1);

    temp = (BUF[1] << 8) + BUF[0];

    if(temp < 0)

        Temp = -temp;

    g[0] = (float)(temp * 3.9); //1⁄4ÆËãÊý3⁄4ÝoÍÏÔÊ3⁄4,2é¿ 1⁄4ADXL345¿ ËÙÈëËÙÈëÅÅμÚ4Ò3

    Temp = (BUF[3] << 8) + BUF[2];

    If(temp < 0)

        Temp = -temp;

    g[1] = (float)(temp * 3.9); //1⁄4ÆËãÊý3⁄4ÝoÍÏÔÊ3⁄4,2é¿ 1⁄4ADXL345¿ ËÙÈëËÙÈëÅÅμÚ4Ò3

    Temp = (BUF[5] << 8) + BUF[4];

    If(temp < 0)

        Temp = -temp;

    g[2] = (float)(temp * 3.9); //1⁄4ÆËãÊý3⁄4ÝoÍÏÔÊ3⁄4,2é¿ 1⁄4ADXL345¿ ËÙÈëËÙÈëÅÅμÚ4Ò3

}

  • Share
  • History
  • More
  • Cancel
Anonymous
Related
Recommended
 
社交网络
快速链接
  • 关于ADI
  • Partners
  • 模拟对话
  • 职业
  • 联系我们
  • 投资信息
  • 新闻中心
  • 质量和可靠性
  • 办事处与代理商
  • Analog Garage
语言
  • English
  • 简体中文
  • 日本語
  • Руccкий
电子快讯

欲获得最新ADI产品、设计工具、培训与活动的相关新闻与文章,请从我们的在线快讯中选出您感兴趣的产品类别,每月或每季度都会发送至您的收件箱。

订阅
Switch to mobile view
Analog Logo
© 1995 - 2023 Analog Devices, Inc. All Rights Reserved 沪ICP备09046653号-1
  • ©
  • 1995 - 2023 Analog Devices, Inc. All Rights Reserved
  • 沪ICP备09046653号-1
  • 网站地图
  • 隐私和保密政策
  • 隐私设置
  • 使用条款
 
Social
Quick Links
  • About ADI
  • Partners
  • Analog Dialogue
  • Careers
  • Contact us
  • Investor Relations
  • News Room
  • Quality & Reliability
  • Sales & Distribution
  • Analog Garage
Languages
  • English
  • 简体中文
  • 日本語
  • Руccкий
Newsletters

Interested in the latest news and articles about ADI products, design tools, training and events? Choose from one of our 12 newsletters that match your product area of interest, delivered monthly or quarterly to your inbox.

Sign Up
Switch to mobile view
Analog Logo
© 1995 - 2023 Analog Devices, Inc. All Rights Reserved 沪ICP备09046653号-1
  • ©
  • 1995 - 2023 Analog Devices, Inc. All Rights Reserved
  • 沪ICP备09046653号-1
  • Sitemap
  • Privacy & Security
  • Privacy Settings
  • Terms of use
EngineerZone Uses cookies to ensure you get the best experience in our community. For more information on cookies, please read our Privacy & Security Statement.