尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

RA8M1 ADC12高级模式实战:双触发与连续扫描配置详解

RA8M1 ADC12高级模式实战:双触发与连续扫描配置详解
📅 发布时间:2026/6/29 0:13:57

1. 项目概述与核心价值

在嵌入式系统开发,尤其是实时控制领域,模数转换器(ADC)的性能和灵活性往往是决定系统成败的关键。无论是电机驱动中的相电流采样,还是多传感器融合应用中的环境数据采集,我们都希望ADC不仅能“采得准”,更要“采得巧”——在精确的时刻启动转换,并以高效的方式处理多路信号。瑞萨电子的RA8M1微控制器,其内置的ADC12模块提供了远超基础单次转换的高级工作模式,其中双触发模式和连续扫描模式就是为应对这些复杂场景而生的利器。前者能实现两次精准触发的背靠背转换,后者则能解放CPU,实现多通道的自动循环采集。然而,官方手册虽然详尽,但动辄数十页的寄存器描述和时序图,常常让开发者望而生畏,不知从何下手。

我曾在多个电机控制项目中深度使用RA8M1的ADC12,从最初的磕磕绊绊到后来的游刃有余,踩过不少坑,也总结了一套行之有效的配置心法。本文将抛开手册式的平铺直叙,以一个嵌入式老鸟的视角,带你深入ADC12的双触发与连续扫描模式。我会重点拆解这两种模式的设计逻辑、寄存器配置的“为什么”、以及在实际项目(特别是电机FOC控制)中的应用要点。你会发现,理解了这些,你不仅能配置出正确的ADC,更能设计出高效、可靠的采样系统。

2. ADC12高级模式核心设计思路拆解

在深入代码之前,我们必须先理解RA8M1 ADC12设计这些高级模式的初衷。普通的单次转换或软件触发扫描模式,其转换时机完全由CPU软件控制,这在实时性要求极高的系统中会引入不可预测的延迟和抖动。而高级模式的核心思想,是将转换的“指挥权”部分或全部交给硬件定时器或事件链路控制器(ELC),实现与外部事件严格同步的、确定性的采样。

2.1 双触发模式:为精确时序而生

双触发模式(Double-Trigger Mode)的精髓在于“两次转换,一次命令”。它不是简单的连续转换两次,而是由一个同步触发信号(如GPT定时器匹配事件或ELC事件)启动第一次转换,完成后自动进入等待状态,再由第二个同步触发信号启动第二次转换。全部完成后,才产生一次中断。

为什么需要这种模式?一个经典的场景是三相电机FOC控制中的双电阻电流采样。为了重构三相电流,我们通常需要在PWM周期的特定时刻(如上管打开、下管打开的中点)对其中两相的电流进行采样。这两个采样点时间间隔很短,且必须与PWM中心对齐严格同步。如果使用两次独立的软件触发,中断响应和软件处理的开销会导致第二个采样点严重滞后。双触发模式则完美解决了这个问题:硬件在收到第一个触发信号(如PWM定时器周期匹配)后立即采样A相,等待第二个触发信号(如PWM定时器比较匹配)到来后立即采样B相,两次转换均由硬件自动完成,时序精度可达纳秒级,最后只产生一个中断通知CPU读取两个结果。

从手册的图45.15和45.16可以看出,其核心流程是:触发1到来 -> 启动转换1 -> 结果存入常规数据寄存器(ADDRx)和双缓冲寄存器A(ADDBLDRA)-> 等待 -> 触发2到来 -> 启动转换2 -> 结果存入双缓冲寄存器(ADDBLDR)和双缓冲寄存器B(ADDBLDRB)-> 产生中断。这里的关键是ADDBLDRA和ADDBLDRB这两个特殊的寄存器,它们像一组乒乓缓冲区,确保了两次转换的结果不会被后续转换覆盖,CPU可以在中断中一次性安全读取。

2.2 连续扫描模式:解放CPU的自动化采集

连续扫描模式(Continuous Scan Mode)的目标是“设置一次,运行不息”。在此模式下,一旦启动,ADC12会自动、循环地对一组预先选定的通道进行A/D转换,直到被软件停止。每次扫描完所有选定通道后,会产生一次中断。

它的优势在哪里?想象一个环境监测系统,需要同时采集温度、湿度、光照和气压四路传感器信号。如果使用单次扫描,你需要频繁地配置、启动、等待中断、读取数据,CPU被频繁打断,效率低下。连续扫描模式则将这些重复性工作交给ADC硬件自动完成。你只需要在初始化时设定好要扫描的通道(通过ADANSA0/1寄存器),然后启动一次,ADC就会像一条自动化流水线,不停地对这四路信号进行轮询转换。CPU只需在每次扫描完成中断到来时,一次性读取四个通道的数据即可,大大降低了CPU干预频率和软件复杂度。

手册中的图45.17清晰地展示了基本连续扫描的流程:启动后,按通道号从小到大的顺序依次转换通道x, y, z...,所有通道转换完成产生中断,然后立即开始下一轮扫描,周而复始。更强大的是,ADC12还支持在连续扫描中集成通道专用采样保持电路和自诊断功能。采样保持电路(图45.18, 45.19)能确保多通道采样时刻的一致性,避免因通道切换延迟导致采样时间点不同步。自诊断功能(图45.20, 45.21, 45.22)则能在扫描循环中定期测量内部参考电压,用于在线监测ADC自身的精度是否漂移,这对于高可靠性应用至关重要。

2.3 模式选择与场景匹配

理解了核心思路,我们就能根据应用场景做出正确选择:

  • 需要两个严格同步的采样点:选择双触发模式,通常与单次扫描(Single Scan Mode)结合使用。适用于电机电流采样、功率因数校正(PFC)的电压电流同步采样等。
  • 需要周期性采集多路传感器信号:选择连续扫描模式。适用于数据记录系统、多路监控仪表、电池管理系统(BMS)的电压温度巡检等。
  • 对多通道采样时刻一致性要求极高:在连续扫描模式下,启用通道专用采样保持电路(如果MCU支持)。
  • 系统需要高可靠性,在线监测ADC健康状态:在任意扫描模式下,可以启用自诊断功能。

注意:双触发模式通常用于单通道或重复通道的两次转换。虽然手册提到了“扩展双触发模式”下可以配合ELC实现复杂同步,但其核心仍是两次转换。而连续扫描则面向多通道循环。两者解决的问题域不同,不要混淆。

3. 双触发模式配置详解与实操要点

理论清晰后,我们进入实战环节。配置双触发模式就像组装一把精密的狙击步枪,每一步都要校准到位。下面我将以最常用的、与GPT定时器同步的场景为例,拆解配置流程。

3.1 寄存器配置流程解析

配置双触发模式不是简单地设置一个位,而是一系列有严格顺序的寄存器操作。请务必遵循以下流程:

  1. 基础模式与触发源设置:

    • 首先,在ADC控制寄存器(ADCSR)中,将扫描模式(ADCSR.MD[1:0])设置为01b,即单次扫描模式。双触发模式是基于单次扫描的增强功能。
    • 接着,将双触发使能位(ADCSR.DBLE)置1。这是进入双触发模式的大门。
    • 然后,配置触发选择寄存器(ADSTRGR)。选择你需要的同步触发源,例如GPT的计数匹配事件(GTCIADx)。对于扩展双触发模式(使用ELC_ADi0和ELC_ADi1这对触发),需要将ADSTRGR.TRSA[5:0]设置为0x0B,并确保ADCSR.EXTRG=0且ADCSR.TRGE=1(使能硬件触发)。
  2. 通道与数据复制设置:

    • 在双触发模式下,通道选择不再通过常规的通道选择寄存器(ADANSA0/1),而是由双触发通道选择位ADCSR.DBLANS[4:0]指定。你需要在这里写入你想要进行两次转换的单个模拟输入通道号(例如AN000)。
    • 核心一步:将ADCSR.DBLE位设置为1。此时,DBLANS指定的通道生效,而ADANSA0/1的配置被忽略。转换结果会按照之前描述的流程,存入ADDRx、ADDBLDRA和ADDBLDRB。
  3. 功能禁用与注意事项:

    • 手册明确要求,在双触发模式下,必须将自诊断选择位(ADEXICR.TSSA/TSSB)和内部参考电压选择位(ADEXICR.OCSA/OCSB)清零(即禁用)。同时,自诊断功能也无法在此模式下使用。
    • 确保不使用软件触发(即不要通过写ADCSR.ADST位来启动)。

3.2 与GPT定时器联动配置实例

假设我们需要在PWM周期开始后第t1和t2时刻采样电流,可以使用GPT的一个通道产生两个比较匹配事件作为触发源。

// 假设使用 GPT0 通道0 和 通道1 产生两个触发事件 void ADC12_DoubleTrigger_Init(void) { // 1. 停止ADC单元0,确保配置安全 R_ADC0->ADCSR_b.ADST = 0; // 2. 配置ADC基础:单次扫描,双触发使能,硬件触发使能 R_ADC0->ADCSR = (0x01 << 0) // MD[1:0]=01: 单次扫描模式 | (0x1 << 6) // DBLE=1: 使能双触发模式 | (0x1 << 5); // TRGE=1: 使能硬件触发启动 // 3. 配置双触发通道:例如选择通道 AN000 (对应DBLANS=0) R_ADC0->ADCSR_b.DBLANS = 0; // 4. 配置触发源:选择 GPT0 通道0 和 通道1 的比较匹配事件作为同步触发 // TRSA[5:0] = 0x00 对应 GTCIADA0 (GPT0 A-D转换触发A0) // 注意:需要根据具体GPT通道与ELC映射关系,可能需配置ELC来链接GPT事件到ADC触发 R_ADC0->ADSTRGR = 0x00; // 选择同步触发源A // 5. 禁用自诊断和内部参考电压采样(双触发模式强制要求) R_ADC0->ADEXICR = 0x0000; // 6. 配置GPT定时器以产生两个相位可调的PWM/触发事件 // 此处为示例,需根据实际t1, t2时间配置GPT周期和比较寄存器 R_GPT0->GTCR = ...; // 配置计数模式、分频等 R_GPT0->GTCNT = 0; R_GPT0->GTCCR[0] = t1_compare_value; // 第一个触发点 R_GPT0->GTCCR[1] = t2_compare_value; // 第二个触发点 R_GPT0->GTBER = ...; // 配置缓冲使能,确保t1,t2可独立更新 // 配置ELC,将GPT0比较匹配A事件链接到ADC12单元0的触发A (ELC_AD00) R_ELC->ELSR[ELC_EVENT_GPT0_CMP_A0] = ELC_EVENT_ADC0_TRIG_A; // 7. 使能ADC中断(如果需要) R_ADC0->ADCER = (0x1 << 15); // 使能扫描结束中断(ADI) IRQ_Enable(ICU, VECT_ADI0); // 使能NVIC中断 // 8. 启动GPT定时器,ADC将在收到硬件触发后自动开始双触发转换序列 R_GPT0->GTST = 0xA501; // 启动GPT0计数 }

3.3 中断服务程序与数据读取

双触发模式完成后,会产生一个ADC12i_ADI中断。在中断中,你需要从特定的寄存器读取两次转换的结果。

volatile uint16_t adc_result_first, adc_result_second; void adi0_isr(void) { // 读取第一次转换结果:来自双缓冲寄存器A (ADDBLDRA) adc_result_first = R_ADC0->ADDBLDRA; // 读取第二次转换结果:来自双缓冲寄存器 (ADDBLDR) 或 B (ADDBLDRB) // 根据手册图45.16,在扩展双触发模式下,第二次结果存入ADDBLDR。 // 为确保兼容性,通常读取ADDBLDR。 adc_result_second = R_ADC0->ADDBLDR; // 清除中断标志位(具体操作取决于MCU,可能自动清除或需手动) R_ADC0->ADCSR_b.ADCS = 0; // 示例:清除状态标志 // 后续处理:如进行电流计算、过流保护判断等 ProcessCurrentSamples(adc_result_first, adc_result_second); }

实操心得:调试双触发模式时,最容易出错的地方是触发信号的时序和ELC的链接配置。务必使用示波器或逻辑分析仪,同时监测GPT的比较匹配输出引脚(可设置为IO输出模式)和ADC的转换开始信号(如果有测试点),确保两个触发脉冲的间隔、宽度和电平完全符合预期,并且与ADC的触发输入正确同步。另一个常见坑点是忘记禁用自诊断和内部参考电压选择,这会导致转换行为异常甚至无法进入双触发模式。

4. 连续扫描模式配置详解与场景化实现

连续扫描模式的配置逻辑更侧重于“通道管理”和“自动化循环”。我们将以一个采集4路传感器(AN001, AN002, AN003, AN004)的例子,来展示其配置方法。

4.1 基础连续扫描配置

这是最常用的模式,适用于大多数多路数据采集场景。

void ADC12_ContinuousScan_Init(void) { // 1. 停止ADC单元1 R_ADC1->ADCSR_b.ADST = 0; // 2. 配置ADC基础:连续扫描模式,软件触发(也可用硬件触发) R_ADC1->ADCSR = (0x10 << 0) // MD[1:0]=10: 连续扫描模式 | (0x0 << 5); // TRGE=0: 使用软件触发(本例)。若用硬件触发则置1并配置ADSTRGR // 3. 选择要扫描的模拟输入通道:使能 AN001, AN002, AN003, AN004 // ADANSA0 对应通道 0-15, ADANSA1 对应通道 16-31. R_ADC1->ADANSA0 = (1 << 1) | (1 << 2) | (1 << 3) | (1 << 4); // 位1、2、3、4置1 // 4. 配置采样时间、转换精度等(根据传感器阻抗和精度需求调整) R_ADC1->ADSSTR = 0x0A; // 例如,设置采样时间寄存器,增加采样时间保证精度 // 5. 使能扫描结束中断 R_ADC1->ADCER = (0x1 << 15); // 使能ADI中断 IRQ_Enable(ICU, VECT_ADI1); // 6. 启动连续扫描(软件触发方式) R_ADC1->ADCSR_b.ADST = 1; }

在这个配置下,ADC1会不停地循环转换AN001到AN004这四个通道。每次循环完成(即4个通道都转换完一次),就会产生一次中断。

4.2 中断服务程序与数据管理

连续扫描模式的中断处理,关键在于高效、有序地读取多个通道的数据。

#define NUM_SCAN_CHANNELS 4 volatile uint16_t adc_results[NUM_SCAN_CHANNELS]; volatile uint8_t data_ready_flag = 0; void adi1_isr(void) { // 按通道顺序读取数据寄存器 adc_results[0] = R_ADC1->ADDR[1]; // AN001 的结果在 ADDR1 adc_results[1] = R_ADC1->ADDR[2]; // AN002 的结果在 ADDR2 adc_results[2] = R_ADC1->ADDR[3]; // AN003 的结果在 ADDR3 adc_results[3] = R_ADC1->ADDR[4]; // AN004 的结果在 ADDR4 data_ready_flag = 1; // 设置数据就绪标志,供主循环处理 // 清除中断标志 R_ADC1->ADCSR_b.ADCS = 0; }

主循环中只需检查data_ready_flag,当其为1时,即可处理adc_results数组中的数据,然后清零标志位。这种“中断收集,主循环处理”的方式能有效降低中断服务程序的执行时间。

4.3 启用通道专用采样保持电路

当多通道信号变化很快,或者要求各通道采样时刻必须高度一致时,就需要启用通道专用采样保持电路(S/H)。这需要额外的配置。

void ADC12_ContinuousScan_WithSampleHold_Init(void) { // ... 前述基础配置(步骤1,2,4,5,6) ... // 3. 选择要扫描的通道(同上) R_ADC1->ADANSA0 = (1 << 1) | (1 << 2) | (1 << 3) | (1 << 4); // **关键新增步骤:配置采样保持** // a. 在采样保持控制寄存器(ADSHCR)中,选择哪些通道使用专用S/H电路。 // 假设AN001和AN002使用S/H电路。 R_ADC1->ADSHCR = (1 << 1) | (1 << 2); // SHANS[2:0] 位图,位1和2对应通道1和2 // b. 配置采样保持模式寄存器(ADSHMSR)。禁用连续采样(先讨论简单情况)。 R_ADC1->ADSHMSR = 0x00; // SHMD=0, 非连续采样模式 // 注意:在非连续采样模式下,每次扫描循环开始前,会对所有启用S/H的通道进行一次采样保持操作, // 然后依次转换。这保证了通道1和2的采样时刻是相同的。 }

启用S/H后,转换时序如图45.18所示。所有启用S/H的通道会先被同时采样并保持,然后ADC再逐个转换这些通道的保持值。这消除了通道切换带来的采样时间差。

4.4 启用自诊断功能

对于高可靠性应用,可以在连续扫描中加入自诊断,定期检查ADC基准电压是否准确。

void ADC12_ContinuousScan_WithSelfDiag_Init(void) { // ... 前述基础配置(步骤1,2,4,5,6) ... // 3. 选择要扫描的通道(例如AN001, AN002) R_ADC1->ADANSA0 = (1 << 1) | (1 << 2); // **关键新增步骤:使能自诊断** // 在扩展控制寄存器(ADEXICR)中,使能自诊断。 R_ADC1->ADEXICR_b.OCS = 1; // 例如,选择内部参考电压(OCS)进行自诊断 // 也可以同时使能温度传感器自诊断(TSS),但注意扫描顺序(先通道,后温度/参考电压)。 // 此时,每次扫描循环的顺序变为: // 1. 转换选中的模拟通道 (AN001, AN002) // 2. 转换自诊断选择的内部参考电压 (或温度传感器) // 3. 产生中断 }

在中断服务程序中,除了读取ADDR1和ADDR2,还需要读取自诊断数据寄存器ADRD。将ADRD的测量值与已知的内部参考电压理论值进行比较,可以判断ADC的增益和偏移是否在允许范围内。

重要提示:当同时启用通道专用S/H和连续采样(ADSHMSR.SHMD=1)时,需要特别注意时序。如图45.19和手册注释强调,必须确保S/H电路有足够的连续采样时间(至少400ns @ 1kΩ源阻抗)。切勿只选择那些带有S/H电路的通道进行连续扫描,否则第二次及后续扫描将没有时间进行采样。正确的做法是,至少额外选择一个不带S/H的通道(如AN004),或者在S/H通道列表中包含一个“虚拟”通道来提供采样时间窗口。

5. 常见问题排查与实战避坑指南

即使按照手册和示例配置,在实际调试中仍会遇到各种问题。下面是我总结的一些典型故障现象和排查思路。

5.1 双触发模式不工作或只触发一次

  • 现象:配置了双触发,但ADC只完成一次转换就停止,或者根本不开始转换。
  • 排查步骤:
    1. 检查触发信号:这是最常见的原因。使用示波器确认GPT或ELC产生的两个触发脉冲是否确实到达了ADC模块。检查触发脉冲的极性、宽度是否符合ADC要求(参考手册电气特性章节)。
    2. 验证ELC链接:如果使用ELC链接GPT事件到ADC触发,务必双重检查ELC.ELSRn寄存器的配置,确保GPT的比较匹配事件正确映射到了ELC_ADi0或ELC_ADi1。
    3. 确认寄存器配置:逐位核对ADCSR寄存器。确保MD[1:0]=01(单次扫描),DBLE=1,TRGE=1(硬件触发),EXTRG位设置正确(常规双触发为0,扩展双触发需结合TRSA设置)。特别检查ADEXICR寄存器,确保TSSA和OCSA位已清零,这是手册明确要求的。
    4. 检查通道选择:在双触发模式下,通道由DBLANS指定,ADANSA0/1无效。确认DBLANS设置的是有效的模拟输入通道号。
    5. 中断与标志位:检查中断是否使能,以及状态标志位ADCSR.ADCS是否在第一次转换后被正确清除(某些情况下需要手动清除)。

5.2 连续扫描模式中断频率异常或数据错乱

  • 现象:中断产生得太快或太慢,或者读取到的通道数据与物理连接不符。
  • 排查步骤:
    1. 计算扫描时间:连续扫描的周期由总转换时间 × 通道数决定。总转换时间 = 采样时间 + 转换时间(12位精度通常固定为几个ADC时钟周期)。检查ADC时钟分频、采样时间寄存器(ADSSTR)的设置,估算出的扫描周期是否与观察到中断周期相符。如果中断过快,可能是采样时间设置过短导致精度下降甚至错误;如果中断过慢,检查ADC时钟源和分频。
    2. 核对通道使能位:仔细检查ADANSA0和ADANSA1寄存器。每个位对应一个通道,确保你使能的位与物理引脚连接一致。一个常见的错误是使能了未连接或复用于其他功能的通道,导致读取到浮空或错误的值。
    3. 数据寄存器映射:记住ADDRy寄存器的索引y直接对应通道号ANy。例如AN001的结果在ADDR1,AN015的结果在ADDR15。在中断中读取时,务必使用正确的索引。
    4. 中断服务程序效率:如果中断服务程序执行时间过长,可能错过下一次中断标志或导致系统响应迟缓。确保在中断中只做最必要的读取和标志设置,繁重的数据处理(如滤波、标定)放到主循环中。

5.3 启用采样保持(S/H)或自诊断后行为异常

  • 现象:加入S/H或自诊断配置后,ADC转换停止,或数据明显不正确。
  • 排查步骤:
    1. S/H通道选择冲突:检查ADSHCR.SHANS与ADANSA是否有冲突。确保SHANS中使能的通道是ADANSA中使能的通道的子集。不能对未在扫描列表中的通道启用S/H。
    2. 连续采样时间不足:这是启用连续采样(SHMD=1)时最易忽略的致命问题。必须确保在S/H通道列表之外,至少还有一个非S/H通道被选中进行转换,或者保证S/H通道的转换间隔足够长(>400ns),以提供采样时间。否则,S/H电路没有足够的时间对输入信号进行采样,后续转换将使用陈旧或不正确的保持电压。请严格参照手册45.3.3.3节的Note部分选择通道。
    3. 自诊断数据解读:自诊断功能测量的是内部参考电压。读取ADRD寄存器后,需要根据参考电压选择和ADC满量程值进行计算,得到实测电压。与理论值(通常是VREFH或其一分数)对比,判断ADC是否正常。注意自诊断转换也会占用扫描时间。
    4. 电源与参考电压噪声:S/H电路和自诊断对模拟电源(AVCC/AVSS)和参考电压(VREFH/VREFL)的稳定性非常敏感。如果这些电源上有噪声,会导致采样值波动或自诊断结果不准。务必在PCB布局上做好模拟电源的滤波和隔离,使用高质量的退耦电容。

5.4 寄存器配置的原子性与顺序问题

  • 现象:配置过程中ADC进入不可预知的状态,或部分配置不生效。
  • 避坑技巧:
    • 先停止,后配置:在修改任何关键控制寄存器(尤其是ADCSR,ADANSA,ADSHCR等)之前,务必先将ADCSR.ADST位清零,停止当前转换。
    • 分组配置,最后启动:将配置过程分为几个步骤:1) 配置时钟、引脚复用;2) 配置工作模式、触发源(ADCSR,ADSTRGR);3) 配置通道(ADANSA,DBLANS);4) 配置高级功能(ADSHCR,ADEXICR);5) 配置中断;6)最后一步,才设置ADST=1或使能硬件触发。
    • 善用调试器观察寄存器:在复杂配置下,单步执行代码,并用调试器实时查看ADC相关寄存器的值,确保每一步写入都符合预期。许多IDE的寄存器视图能直接显示位字段,非常直观。

通过以上系统的排查思路,大部分ADC12高级模式相关的问题都能被定位和解决。调试ADC,耐心和细致的观察往往比复杂的理论更重要。

相关新闻

  • 横向评测:广东模具注塑工厂主流方案对比
  • v为什么你的收藏越积越多,却越来越没用?
  • 5种创新方法永久解锁IDM下载限制:终极激活脚本完全指南

最新新闻

  • 5分钟免费解锁Wand游戏修改器完整指南:终极开源增强方案
  • Perseus:5分钟解锁碧蓝航线全皮肤的终极指南
  • 从零构建FOC驱动器:深入解析SVPWM与磁场定向控制
  • SAP ABAP 资产主数据屏幕增强实战:从SMOD AIST0002到客制化字段与布局
  • 医学图像分割中的域泛化技术SRCSM解析
  • 如何用开源自动化监控工具3步搞定mikufans直播录制?终极解决方案揭秘

日新闻

  • ENVI5.3.1实战:基于Landsat 8影像的区域无缝镶嵌与精准裁剪
  • 3步完成HS2-HF Patch安装:新手快速打造完美HoneySelect2体验
  • 微信好友检测终极指南:3分钟发现谁已悄悄删除你

周新闻

  • Windows字体自定义终极方案:No!! MeiryoUI完全指南
  • Deepin Boot Maker:告别命令行,3分钟制作Linux启动盘的智能解决方案
  • Plain Craft Launcher 2:重新定义你的Minecraft游戏体验

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号