tm1637中文手册


TM1637数码管驱动芯片详细介绍
TM1637是一款集成了MCU数字接口、数据锁存器、LED高压驱动电路以及键盘扫描接口的专用芯片。它主要应用于驱动LED数码管显示器,广泛见于各种家电、仪器仪表、工业控制、智能家居以及消费电子产品中,如微波炉、空调、热水器、洗衣机、电磁炉、万用表、时钟、温湿度计等。其低成本、易于使用和功能集成的特点,使其在市场上备受欢迎。
1. TM1637芯片概述与核心特性
TM1637芯片由天微电子(Tianma Microelectronics)设计生产,是一款CMOS工艺的LED(发光二极管)驱动控制专用电路。它采用两线串行总线(DIO和CLK)与微控制器(MCU)进行通信,极大地简化了硬件连接。芯片内部集成了高压驱动电路,可以直接驱动共阳极数码管,无需额外的限流电阻,降低了系统成本和复杂性。
TM1637的核心特性包括:
多显示位与多段驱动能力: 芯片通常支持最多6位8段的LED数码管显示驱动,这意味着它可以控制六个数码管的八个段(七段加一个小数点)。这种设计满足了大多数数字显示应用的需求,如时间、温度、计数等。
键盘扫描功能: TM1637不仅能驱动数码管,还集成了键盘扫描接口。它支持最多2x8位的按键扫描矩阵,可以直接读取多达16个独立按键的状态。这使得一个芯片可以同时处理显示和按键输入,简化了系统设计,减少了微控制器的IO口占用。
两线串行接口: 芯片与MCU之间通过DIO(数据输入/输出)和CLK(时钟)两根线进行通信。这种串行通信方式有效减少了系统布线复杂性,特别是在空间受限或成本敏感的应用中优势明显。
亮度调节功能: TM1637内置8级亮度调节电路。通过软件指令,用户可以方便地设置数码管的显示亮度,以适应不同的环境光线条件或应用需求。例如,在夜间可以调低亮度以避免刺眼,白天则调高以保证清晰可见。
高压驱动能力: 芯片内部集成了高压驱动电路,可以直接驱动高压LED数码管,最大输出驱动能力达到24mA,足以满足绝大多数常用数码管的亮度要求。
多种封装形式: TM1637通常采用SOP20等标准贴片封装,方便自动化生产和集成到各种电路板上。
低功耗: 作为CMOS器件,TM1637在工作时功耗较低,有利于延长电池供电产品的续航时间。
这些特性使得TM1637成为驱动LED数码管和处理按键输入的经济高效解决方案,广泛应用于各种嵌入式系统中。
2. TM1637引脚定义与功能
理解TM1637的引脚功能是正确连接和使用芯片的基础。TM1637通常采用SOP20封装,以下是其主要引脚的定义和功能:
CLK (时钟线): 这是串行通信的时钟输入引脚。MCU通过CLK引脚提供时钟信号,用于同步数据传输。当CLK引脚为高电平期间,DIO引脚上的数据信号必须保持稳定;当CLK引脚从高电平变为低电平时,DIO引脚上的数据才允许发生变化,这样可以确保数据在正确的时钟沿被采样。
DIO (数据输入/输出线): 这是串行通信的数据输入/输出引脚。它是一个双向引脚,用于MCU向TM1637发送命令和数据,也用于TM1637向MCU返回按键扫描数据。在发送数据时,MCU将数据位串行发送到此引脚;在读取按键时,TM1637将按键数据串行输出到此引脚。此引脚通常需要连接一个上拉电阻,以确保在空闲时保持高电平。
VCC (电源正极): 芯片的工作电源输入引脚。通常连接到3.3V或5V直流电源。为了保证芯片的稳定工作,建议在VCC引脚附近并联一个0.1uF的去耦电容。
GND (电源地): 芯片的电源地引脚,连接到系统地。
GRID1 - GRID6 (数码管位选线/阴极驱动): 这些是数码管的位选线,也称为阴极驱动或段选线。TM1637通常支持最多6个数码管的显示。每个GRID引脚控制一个数码管的公共阴极(对于共阳数码管)。当某个GRID引脚被激活(通常是拉低),相应的数码管才能被点亮。这些引脚也兼作键盘扫描的行输入或列输出。
SEG1 - SEG8 (数码管段选线/阳极驱动): 这些是数码管的段选线,也称为阳极驱动。对于共阳数码管,这些引脚连接到数码管的段(a, b, c, d, e, f, g, DP)的阳极。TM1637内部集成了限流电阻和高压驱动电路,可以直接驱动LED段。当某个SEG引脚被激活(通常是拉高),相应的数码管段就会被点亮。这些引脚也兼作键盘扫描的列输入或行输出。
在实际应用中,连接TM1637时,VCC和GND必须正确连接电源。CLK和DIO连接到微控制器的两个通用IO口。GRID引脚连接到共阳极数码管的公共端(例如,通过PNP三极管或ULN2003等驱动芯片,或者TM1637直接驱动),SEG引脚连接到数码管的各个段。为了防止干扰和确保通信的稳定性,DIO和CLK引脚建议串联小电阻并并联小电容进行滤波。
3. TM1637串行通信协议
TM1637与微控制器之间的通信采用两线串行协议,类似于I2C但不完全兼容。其通信协议相对简单,主要由起始条件、数据传输、应答信号和停止条件组成。所有数据传输均由微控制器(主设备)发起。
3.1 通信基本时序
起始信号 (Start Signal): 在时钟线CLK为高电平期间,数据线DIO由高电平跳变为低电平,表示通信开始。这是所有数据传输的先决条件。
数据传输 (Data Transfer): 数据传输是8位(一个字节)为单位。每个数据位在CLK为高电平期间保持稳定,在CLK下降沿被TM1637采样。数据传输是低位在前(LSB first),即数据的最低有效位最先发送。
应答信号 (ACK Signal): TM1637在接收到一个字节数据后,会在第九个时钟周期(即发送完8位数据后)将DIO拉低,以向MCU发送应答信号(ACK)。MCU需要在此期间释放DIO线,以便TM1637能够拉低DIO。如果TM1637没有拉低DIO,则表示无应答。
停止信号 (Stop Signal): 在时钟线CLK为高电平期间,数据线DIO由低电平跳变为高电平,表示通信结束。这标志着当前一次完整数据传输的完成。
3.2 TM1637指令集
TM1637的通信通过发送不同的指令来控制芯片的功能。主要有三类指令:
数据指令 (Data Command): 用于设置数据写入模式和地址模式。
0xC0
-0xCF
:设置写入显示数据的起始地址,例如0xC0
表示从显示RAM的0地址开始写入。0x40
:自动地址递增模式(显示数据写入),数据写入后地址自动加1。0x44
:固定地址模式(显示数据写入),数据写入后地址保持不变。写入模式: 控制数据是写入显示寄存器还是写入按键数据寄存器。
地址模式:
显示控制指令 (Display Control Command): 用于控制数码管的显示开关和亮度。
最低3位(Bit 0-2)用于设置亮度等级(0-7),例如
0x88
表示最高亮度。最高位(Bit 7)用于控制显示开关,为
1
表示开启显示,为0
表示关闭显示。例如,
0x8F
表示开启显示并设置最高亮度,0x80
表示关闭显示。0x80
:用于设置显示开关和亮度等级。地址设置指令 (Address Setting Command): 用于设置数据写入的RAM地址。
0xC0
-0xC5
:用于指定要写入的显示RAM地址。例如,0xC0
表示写入第0位显示RAM,0xC1
表示写入第1位显示RAM,以此类推。每个地址对应一个数码管的段数据。
3.3 数据写入过程示例
向TM1637写入数据通常遵循以下步骤:
发送起始信号。
发送数据指令 (例如
0x40
,设置自动递增模式)。等待TM1637应答。
发送起始信号。 (注意:这里在发送完数据指令后,紧接着发送数据前,需要再次发送一个起始信号。这是TM1637协议的一个特点。)
发送地址设置指令 (例如
0xC0
,设置起始地址为0)。等待TM1637应答。
发送要显示的数据 (例如,第一个数码管的段码)。
等待TM1637应答。
重复步骤7和8,直到所有显示数据发送完毕 (如果采用自动递增模式,地址会自动递增)。
发送停止信号。
例如,如果要显示“1234”:
首先,定义每个数字的段码(例如,数字1的段码是
0x06
,数字2的段码是0x5B
等)。发送数据指令
0x40
。发送地址指令
0xC0
。依次发送数字“1”的段码,数字“2”的段码,数字“3”的段码,数字“4”的段码。
发送停止信号。
3.4 键盘扫描过程
TM1637的键盘扫描功能是其重要特性之一。当MCU需要读取按键状态时,它会向TM1637发送相应的命令,然后从DIO引脚读取按键数据。
读取按键数据指令: TM1637的键盘扫描功能不需要特定的指令来“开启”,而是通过特定的数据读取时序来完成。当MCU需要读取按键数据时,它会发送一个起始信号,然后等待TM1637拉低DIO线表示应答。紧接着,MCU发送一个读按键数据的“伪指令”(通常是
0x42
),然后MCU释放DIO线,TM1637会开始在DIO线上输出按键数据。按键数据格式: TM1637将按键数据打包成2个字节(16位)发送。每个位对应一个按键的状态,例如,如果某个位为低电平,则表示相应的按键被按下。具体的按键映射关系需要查阅TM1637的数据手册,了解GRID和SEG线如何与按键矩阵对应。
时序: MCU发送完读命令后,会提供时钟信号并从DIO线读取数据。每个按键数据字节传输后,MCU需要释放DIO等待TM1637发送ACK,然后继续读取下一个字节。
由于键盘扫描的细节和按键矩阵的映射在不同模块中可能略有差异,建议参考具体的TM1637模块资料或TM1637芯片数据手册以获取精确的按键解码方法。
4. TM1637的常见应用
TM1637以其集成度高、成本低、易于使用的特点,在众多电子产品中找到了广泛的应用。
家用电器:
微波炉、电饭煲、电磁炉: 显示烹饪时间、火力等级、工作模式等。同时,通过其按键扫描功能,可以实现菜单选择、定时、启停等操作。
空调、热水器、洗衣机: 显示温度、模式、错误代码等。用户通过按键调节温度、选择洗涤程序等。
烤箱、洗碗机: 显示工作状态、剩余时间等。
仪器仪表:
数字万用表: 显示测量值,如电压、电流、电阻等。
温湿度计: 显示实时温度和湿度。
计时器、计数器: 显示计时或计数值。
电子秤: 显示重量。
智能家居与消费电子:
智能时钟、闹钟: 显示时间,部分产品还可能显示日期或温度。
LED时钟模块: 广泛应用于DIY项目和电子爱好者制作中。
简单的信息显示屏: 例如,在一些智能设备或玩具中显示简单的状态信息。
儿童玩具: 作为简单的数字显示和按键输入界面。
工业控制:
简易控制器: 在某些工业控制面板上,用于显示参数或状态,并提供基本的按键输入。
自动化设备人机界面: 作为小型设备的显示和控制界面。
在这些应用中,TM1637通常与一个微控制器(如Arduino、STM32、ESP32等)配合使用。微控制器负责高级逻辑处理、数据计算,然后通过TM1637的串行接口将数据发送到数码管进行显示,并从TM1637读取用户按键输入进行响应。这种组合方式使得开发者能够快速、经济地实现带有数字显示和按键交互功能的嵌入式系统。
5. TM1637编程示例 (基于Arduino)
虽然TM1637的原始协议操作相对底层,但许多开源库已经为它提供了高级抽象,使得在Arduino等平台上使用它变得非常简单。以下是一个基于Arduino平台的TM1637模块编程示例,展示如何显示数字和控制亮度。
5.1 硬件连接
假设您使用的是常见的TM1637四位数码管模块:
VCC -> Arduino 5V
GND -> Arduino GND
CLK -> Arduino 数字引脚 (例如,D2)
DIO -> Arduino 数字引脚 (例如,D3)
5.2 软件库安装
在Arduino IDE中,您需要安装一个TM1637库。一个常用的库是“TM1637Display”库。
打开Arduino IDE。
点击 "工具" -> "管理库..."。
在搜索框中输入 "TM1637"。
找到 "TM1637Display by avishay" (或其他类似的流行库),点击 "安装"。
5.3 示例代码
#include <TM1637Display.h>
// 定义TM1637模块连接的Arduino引脚
#define CLK 2 // 连接到Arduino的数字引脚2
#define DIO 3 // 连接到Arduino的数字引脚3
// 创建TM1637Display对象
TM1637Display display(CLK, DIO);
void setup() {
// 初始化串口通信,用于调试
Serial.begin(9600);
Serial.println("TM1637 Display Test Start!");
// 设置显示亮度 (0 - 7,0最暗,7最亮)
// 也可以使用 display.setBrightness(BRIGHT_TYPICAL); // 典型亮度
// display.setBrightness(BRIGHT_DARKEST); // 最暗
// display.setBrightness(BRIGHT_LOW); // 较低
// display.setBrightness(BRIGHT_MID); // 中等
// display.setBrightness(BRIGHT_HIGH); // 较高
// display.setBrightness(BRIGHT_FULL); // 最高
display.setBrightness(BRIGHT_TYPICAL);
// 清除显示
display.clear();
}
void loop() {
// 循环显示数字 0 到 9999
for (int i = 0; i <= 9999; i++) {
display.showNumberDec(i); // 显示十进制数字
delay(500); // 延时500毫秒
// 每隔一段时间改变亮度
if (i % 20 == 0) { // 每20次循环改变一次亮度
int currentBrightness = (i / 20) % 8; // 计算新的亮度等级 (0-7)
display.setBrightness(currentBrightness);
Serial.print("Setting brightness to: ");
Serial.println(currentBrightness);
}
}
// 显示固定文本,例如 "HELL"
uint8_t data[] = {
0b01110111, // H
0b01111100, // E
0b00111000, // L
0b00111000 // L
};
display.setSegments(data); // 显示自定义段码
Serial.println("Displaying 'HELL'");
delay(2000);
// 显示小数点
// 例如显示 12.34
display.showNumberDecEx(1234, 0b01000000, true, 4, 0);
// 在第二个数字后显示小数点 (0b01000000对应SEG7即DP)
// 最后一个参数 true 表示显示前导零,4表示显示位数,0表示起始位
Serial.println("Displaying '12.34'");
delay(2000);
// 显示一个十六进制数,例如 0xABCD
display.showNumberHex(0xABCD);
Serial.println("Displaying 'ABCD' (hex)");
delay(2000);
// 清除显示
display.clear();
Serial.println("Display cleared.");
delay(1000);
}
5.4 代码解释
#include <TM1637Display.h>
:包含TM1637Display库。#define CLK 2
和#define DIO 3
:定义了TM1637模块连接到Arduino的数字引脚。您可以根据实际连接进行修改。TM1637Display display(CLK, DIO);
:创建了一个TM1637Display对象,并将CLK和DIO引脚传递给它。display.setBrightness(BRIGHT_TYPICAL);
:设置数码管的亮度。库中定义了几个亮度常量(BRIGHT_DARKEST
,BRIGHT_LOW
,BRIGHT_TYPICAL
,BRIGHT_MID
,BRIGHT_HIGH
,BRIGHT_FULL
),也可以直接传入0到7的数字。display.clear();
:清除数码管上的所有显示。display.showNumberDec(i);
:这是最常用的函数之一,用于显示一个十进制数字。它会自动处理数字的段码转换和显示位置。display.setSegments(data);
:这个函数允许您直接发送原始的段码数据。data
是一个uint8_t
数组,每个元素代表一个数码管的段码。每个字节的每个位对应一个段(例如,Bit 0对应a段,Bit 1对应b段,以此类推,Bit 7对应DP)。display.showNumberDecEx(1234, 0b01000000, true, 4, 0);
:这是一个更高级的函数,可以显示带有小数点、前导零等功能的十进制数字。第一个参数是要显示的数字。
第二个参数是段位掩码,用于控制小数点或其他特殊符号的显示。
0b01000000
表示点亮DP段(通常是SEG7)。第三个参数
true
表示显示前导零。第四个参数
4
表示显示4位数。第五个参数
0
表示从第0位开始显示。display.showNumberHex(0xABCD);
:用于显示一个十六进制数字。
这个示例涵盖了TM1637模块的基本显示功能和亮度控制。对于键盘扫描功能,TM1637Display库可能没有直接的高级函数,您可能需要查阅库的文档或深入研究其源代码,或者直接编写低级协议来读取按键状态。然而,对于大多数入门级应用,专注于显示功能已足够。
6. TM1637模块的电路设计考量
在使用TM1637芯片或模块时,除了理解其功能和编程,正确的电路设计同样重要,以确保系统的稳定性和可靠性。
电源稳定性: TM1637的工作电压范围通常为3.0V至5.5V。为了确保芯片稳定工作,应提供纹波小的稳定电源。在VCC和GND之间应并联一个0.1uF(104)的陶瓷电容进行去耦,以滤除电源高频噪声。对于距离电源较远的芯片,可能还需要一个10uF或更大容量的电解电容作为储能滤波。
IO口连接: CLK和DIO引脚应直接连接到微控制器的GPIO引脚。这些引脚是双向的,对于DIO引脚,通常需要一个10KΩ左右的上拉电阻连接到VCC。这是因为DIO在默认状态下需要保持高电平,并且在TM1637发送应答信号或按键数据时,它需要能够拉低该引脚。部分TM1637模块内部可能已经集成了上拉电阻,此时外部就不需要了。
数码管连接: TM1637直接驱动共阳极数码管。SEG引脚连接到数码管的各段(a-g, DP),GRID引脚连接到数码管的公共阳极。请务必检查您使用的数码管是共阳极还是共阴极。TM1637是为共阳极设计的,如果使用共阴极数码管,则需要额外的外部驱动电路进行反相,会增加复杂性。
限流: TM1637内部集成了限流电阻,因此在使用标准数码管时,通常不需要在SEG线上额外串联限流电阻。然而,如果您使用的数码管亮度要求特别高,或者驱动电压较高,仍需仔细查阅数码管和TM1637的数据手册,确保段电流在安全范围内。过大的电流会导致数码管寿命缩短甚至损坏。
抗干扰设计:
布线: CLK和DIO线应尽可能短,并远离干扰源(如大电流通路、高频信号线)。避免平行布线过长,以减少串扰。
接地: 确保良好的接地,采用星形接地或大面积覆铜接地,减少地线阻抗和噪声。
ESD保护: 在实际产品中,TM1637的IO引脚可能会暴露在外部环境中(如键盘接口),需要考虑ESD(静电放电)保护电路,例如在IO线上并联TVS二极管。
按键矩阵设计: 如果使用TM1637的键盘扫描功能,需要正确设计按键矩阵。TM1637通过循环扫描GRID和SEG引脚来检测按键按下。按键通常连接在GRID和SEG引脚之间。按键去抖是必要的,可以通过软件延时或硬件RC滤波电路实现。
7. 常见问题与故障排除
在使用TM1637模块或芯片时,可能会遇到一些问题。以下是一些常见问题及其故障排除建议:
数码管不亮或显示异常:
电源检查: 确保VCC和GND连接正确,并且电源电压在TM1637的工作范围内(通常是3.0V-5.5V)。
共阳/共阴问题: 确认您的数码管是共阳极类型。TM1637专为共阳极设计。如果使用了共阴极数码管,将无法正常显示。
接线检查: 仔细检查CLK、DIO、VCC、GND以及SEG和GRID引脚的连接是否牢固、正确,是否有虚焊或短路。
DIO上拉电阻: 确保DIO引脚有上拉电阻(通常在模块上已集成,如果没有,外部需要一个10kΩ左右的)。
程序问题: 检查您的代码逻辑。是否正确发送了起始、停止信号?数据指令、地址指令和显示控制指令是否正确?数据段码是否正确?
亮度设置: 确认显示控制指令中亮度设置是否过低,导致看起来不亮。尝试设置为最高亮度
0x8F
。CLK/DIO时序问题: 如果是自己编写底层驱动,检查CLK和DIO的电平变化时序是否符合TM1637的数据手册要求。特别是数据在CLK高电平期间是否稳定,在CLK下降沿是否采样。
按键无响应或误触发:
按键接线: 确认按键连接到TM1637的GRID和SEG引脚是正确的,并且与程序中的按键映射一致。
按键去抖: 机械按键存在抖动,需要软件去抖或硬件去抖。在读取按键状态后,增加一个短暂的延时再确认按键状态,可以有效防止误触发。
电源干扰: 电源噪声可能导致按键扫描误判。改善电源滤波。
按键矩阵冲突: 检查按键矩阵设计是否存在短路或其他电路问题,导致多个按键同时被检测到或无法区分。
软件读取逻辑: 检查按键扫描的软件逻辑是否正确,是否正确发送读取按键的命令并解析返回的数据。
通信不稳定或数据乱码:
线路干扰: 确保CLK和DIO线远离强电磁干扰源。如果线长,尝试使用屏蔽线。
电源噪声: 改善电源滤波,特别是VCC引脚附近的去耦电容。
时钟速度: 某些微控制器可能输出过快的时钟信号,TM1637可能无法及时响应。尝试降低MCU的GPIO翻转速度或在时钟周期中增加延时。
应答信号: 检查MCU是否正确等待TM1637的应答信号。如果TM1637没有应答,通信就会出错。
模块过热:
电流过大: 检查数码管的段电流是否过大。虽然TM1637内部有驱动,但如果外接数码管的功耗过大,或者驱动电压过高,可能导致芯片过热。
短路: 检查数码管或模块引脚之间是否有短路现象。
在进行故障排除时,使用示波器观察CLK和DIO引脚的波形是非常有效的手段,它可以帮助您直观地看到通信时序是否正确,以及是否有异常噪声。同时,参考TM1637的官方数据手册是解决疑难问题的最终依据。
8. TM1637的进阶应用与优化
虽然TM1637主要用于简单的数码管显示和按键扫描,但通过巧妙的软件设计和一些硬件配合,可以实现更复杂的应用。
多模块级联: 虽然单个TM1637芯片支持有限的显示位数和按键数量,但在一些需要更多显示位或按键的应用中,可以通过连接多个TM1637模块并共用CLK和DIO总线(或使用多组CLK/DIO引脚)来实现级联。每个TM1637模块可以独立寻址,或者通过位选/片选逻辑进行管理。然而,共用总线时,需要更精细的软件时序控制,以避免数据冲突。
动态扫描刷新: TM1637内部已经实现了数码管的动态扫描,但如果需要更高级的显示效果(如滚动显示、闪烁、动画),可以通过在微控制器端不断更新显示数据来实现。例如,通过周期性地计算并发送新的段码数据,可以实现数字的平滑滚动效果。
结合中断处理按键: 为了提高系统响应速度,可以将DIO引脚配置为外部中断输入。当TM1637有数据(例如,按键按下)需要发送时,它会通过某种方式(例如,拉低DIO或通过特定的握手信号)触发MCU中断,MCU在中断服务程序中读取按键数据。这比轮询方式更高效,尤其是在低功耗应用中。
节能模式: 在某些电池供电的应用中,当没有显示或按键操作时,可以通过指令关闭TM1637的显示功能甚至进入低功耗模式,从而降低整体功耗。TM1637的显示控制指令中包含了开启/关闭显示的选项,可以灵活运用。
自定义字符显示: TM1637驱动的是七段数码管,本身无法显示复杂的字符。但通过组合七段段码,可以显示一些伪字符或简单图标(例如,用“-”表示负号,用“E”表示错误)。在需要显示更多字符的场景,可能需要考虑点阵屏或其他更高级的显示方案。
软件库优化: 如果对性能有较高要求,或者在资源受限的微控制器上使用,可以对现有的TM1637驱动库进行优化。例如,通过直接操作GPIO寄存器而不是使用Arduino的
digitalWrite()
和digitalRead()
函数,可以显著提高通信速度。
9. 总结
TM1637作为一款经典的LED数码管驱动兼键盘扫描芯片,凭借其高集成度、简洁的接口和出色的性价比,在电子设计领域占据了重要地位。它极大地简化了数字显示和按键输入的实现难度,使得开发者可以快速构建具有人机交互功能的嵌入式系统。
从其基本特性、引脚定义,到详细的串行通信协议和指令集,我们深入探讨了TM1637的工作原理。通过Arduino编程示例,展示了如何轻松地使用现有的开源库进行开发。同时,也讨论了在电路设计中的关键考量点,如电源稳定性、IO口连接和抗干扰等,并提供了常见的故障排除建议。
尽管TM1637主要面向简单的数字显示应用,但通过合理的软件设计和硬件配合,其潜力仍可进一步挖掘,例如多模块级联、动态显示优化和更高效的按键处理。对于初学者而言,TM1637是学习串行通信、数码管驱动和嵌入式系统交互的绝佳入门芯片;对于经验丰富的工程师,它则提供了一个可靠且经济高效的解决方案,用于快速实现产品的显示和控制界面。理解并掌握TM1637的使用,将为您的嵌入式项目开发带来极大的便利。
责任编辑:David
【免责声明】
1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。
2、本文的引用仅供读者交流学习使用,不涉及商业目的。
3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。
4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。
拍明芯城拥有对此声明的最终解释权。