蓝桥杯嵌入式省赛模拟实战:电阻检测系统设计与优化

蓝桥杯嵌入式省赛实战:从系统设计到调试避坑全解析 嵌入式系统开发是连接硬件与软件的核心技术领域,其关键在于实现稳定、高效的控制与信息处理。其基本原理是通过微控制器或微处理器执行特定程序,对外设进行精准操控。这项技术的核心价值在于能将复杂的逻辑转化为实际的物理交互,广泛应用于智能家居、工业控制、物联网设备等场景。在诸如蓝桥杯等嵌入式竞赛中,选手需要在有限时间内完成一个完整的小型产品开发,这高度模拟了初级工程师的真实工作环境。本文以第七届蓝桥杯嵌入式省赛项目为具体案例,深入剖析其涉及的**系统架构设计**与**关键模块实现**。文章将探讨如何运用模块化分层思想 阅读详情

1. 系统需求分析与设计思路

蓝桥杯嵌入式省赛的电阻检测系统是一个典型的综合应用项目,需要选手在有限时间内完成从硬件连接到软件编程的全流程开发。这个系统要求我们能够准确测量两个电阻(R37和R38)的电压值,并根据预设的上下限判断电阻是否合格,同时还要实现LCD显示、按键控制和串口通信等功能。

我在实际开发中发现,这个项目的难点不在于单个模块的实现,而在于如何让各个模块协同工作。ADC采集需要稳定准确,按键处理要防抖可靠,LCD显示要实时更新,串口通信要高效稳定。这些模块之间存在着紧密的数据流动和控制逻辑,任何一个环节出现问题都会影响整个系统的性能。

从硬件连接来看,我们需要将两个电位器分别连接到ADC1和ADC2的通道上,按键连接到PB0、PB1、PB2和PA0,LED灯连接到PC8-PC12,LCD屏幕通过FSMC接口连接。这些硬件连接虽然看似简单,但在实际布线时很容易出错,特别是ADC的引脚分配和LCD的初始化配置,需要特别注意。

2. ADC电压采集模块实现

ADC模块是整个系统的核心,直接决定了电阻检测的准确性。STM32F103的ADC是12位精度的,参考电压为3.3V,所以每个ADC值对应的电压计算公式为:电压值 = (ADC值 × 3.3) / 4095。

在实际编程中,我采用了HAL库提供的ADC函数来实现电压采集:

void getR37value(void)
{
    uint16_t ADC2_Value;
    HAL_ADC_Start(&hadc2);
    ADC2_Value = HAL_ADC_GetValue(&hadc2);
    R37_volt = (ADC2_Value * 3.3f) / 4095.0f;
}

这个函数看起来简单,但里面有几个关键点需要注意。首先是ADC的启动时机,我选择在主循环中周期性地调用采集函数,这样既能保证数据的实时性,又不会过度占用CPU资源。其次是数据类型的处理,ADC值是16位整数,但电压值需要转换为浮点数进行计算,这里使用3.3f而不是3.3可以避免隐式类型转换带来的精度损失。

在实际测试中,我发现ADC读数存在一定的波动,特别是在电源电压不稳或者周围有电磁干扰的情况下。为了解决这个问题,我采用了软件滤波的方法,连续采集多次然后取平均值:

#define SAMPLE_TIMES 10

void getR37value_filtered(void)
{
    uint32_t sum = 0;
    for(int i = 0; i < SAMPLE_TIMES; i++) {
        HAL_ADC_Start(&hadc2);
        sum += HAL_ADC_GetValue(&hadc2);
        HAL_Delay(1);
    }
    R37_volt = (sum * 3.3f) / (4095.0f * SAMPLE_TIMES);
}

这种方法虽然增加了采集时间,但显著提高了测量的稳定性和准确性。在实际比赛中,可以根据具体需求调整采样次数,在精度和速度之间找到平衡点。

3. 按键控制与状态管理

按键控制模块负责处理用户的输入操作,包括页面切换、电阻检测、参数调整等功能。系统设计了三个主要页面:检测页面、参数设置页面和合格率显示页面,通过按键B1进行切换。

按键处理中最常见的问题就是抖动,机械按键在按下和释放时会产生多次电平跳变,如果不进行处理会导致多次误触发。我采用了状态机的方式来实现按键消抖:

uint8_t key_value, key_down, key_up, key_old = 0;

void key_scan(void)
{
    // 读取按键状态
    if(HAL_GPIO_ReadPin(GPIOB, GPIO_PIN_0) == RESET) 
        key_value = 1;
    else if(HAL_GPIO_ReadPin(GPIOB, GPIO_PIN_1) == RESET)
        key_value = 2;
    // 其他按键类似...
    else
        key_value = 0;
    
    // 检测按键按下和释放事件
    key_down = key_value & (key_value ^ key_old);
    key_up = ~key_value & (key_value ^ key_old);
    key_old = key_value;
}

这种方法的巧妙之处在于通过位运算来检测状态变化,key_down只在按键从0变为1时有效,key_up只在按键从1变为0时有效。配合20ms的消抖延时,可以可靠地检测按键事件而不受抖动影响。

在实际应用中,我还增加了长按功能的支持。通过记录按键按下的时间,当超过一定阈值时触发长按事件,这样可以实现更丰富的交互功能。比如在参数设置页面,长按按键可以快速调整数值,提高操作效率。

状态管理是另一个重要方面,系统需要根据当前页面和用户操作来执行相应的功能。我使用page_index变量来记录当前页面,line_index来记录参数设置页面中的选中行,这样就能清晰地管理整个系统的状态流转。

4. LCD显示界面设计

LCD显示模块负责将系统的各种状态信息直观地展示给用户。根据题目要求,我们需要实现三个显示页面,每个页面显示不同的信息内容。

在显示编程中,最重要的是保证显示内容的清晰和实时性。我采用了200ms的刷新周期,这个时间间隔既能保证显示的流畅性,又不会给系统带来过重的负担。显示内容通过sprintf函数格式化为字符串,然后调用LCD驱动函数显示:

char buf[30];
u32 lcd_tick = 0;

void lcd_pro(void)
{
    if(uwTick - lcd_tick < 200) return;
    lcd_tick = uwTick;
    
    switch(page_index) {
        case 1:  // 检测页面
            LCD_DisplayStringLine(Line1, (u8 *)" GOODS ");
            sprintf(buf, " R37:%.2lfV ", R37_volt);
            LCD_DisplayStringLine(Line3, (u8 *)buf);
            // 其他行类似...
            break;
        // 其他页面...
    }
}

在实际开发中,我发现LCD显示有几个需要注意的地方。首先是内存使用,频繁的字符串操作容易导致内存碎片,所以我使用了静态分配的缓冲区。其次是显示优化,避免频繁清屏造成的闪烁感,只更新需要变化的部分。

为了提升用户体验,我还增加了一些视觉反馈。比如在参数设置页面,当前选中的参数会反色显示;在检测页面,合格和不合格的电阻会用不同的颜色标识。这些细节虽然小,但能显著提高系统的专业感和易用性。

显示内容的布局也很重要,重要的信息应该放在显眼的位置,数值显示要保留合适的小数位数,单位要明确标注。这些设计考虑都能让用户更快地获取需要的信息。

5. 串口通信优化策略

串口通信模块负责与上位机进行数据交互,发送电阻检测的结果。最初的实现存在几个严重问题:响应延迟大、不支持连续命令、抗干扰能力差,还有缓冲区溢出风险。

我通过以下几个方面的优化显著改善了串口通信的性能:

首先增加了接收缓冲区的大小,从原来的6字节扩大到64字节,这样就能处理更长的数据帧。其次引入了超时机制,当一段时间没有收到新数据时,就认为一帧数据接收完成,开始处理:

#define RX_BUF_SIZE 64
#define RX_TIMEOUT 100  // 100ms超时

uint8_t rx_pointer = 0;
uint8_t rx_data;
uint8_t rx_buf[RX_BUF_SIZE];
uint32_t last_rx_time = 0;

void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{
    if(rx_pointer < RX_BUF_SIZE-1) {
        rx_buf[rx_pointer++] = rx_data;
        last_rx_time = uwTick;
    }
    HAL_UART_Receive_IT(&huart1, &rx_data, 1);
}

这种设计的好处是能够自适应不同长度的数据帧,不会因为固定长度判断而丢失数据。超时时间设置为100ms,这个时间既不会太短导致误判,也不会太长影响响应速度。

在数据处理方面,使用memcmp函数进行命令匹配比逐个字符比较更加高效和可靠:

void rx_pro(void)
{
    if((uwTick - last_rx_time > RX_TIMEOUT) && rx_pointer > 0) {
        if(rx_pointer >= 3) {
            if(memcmp(rx_buf, "R37", 3) == 0) {
                printf("R37:%d,%d,%.1lf%%\r\n", 
                       R37_Sum, R37_qualified_quantity, R37_yield);
            }
            // 其他命令处理...
        }
        rx_pointer = 0;
        memset(rx_buf, 0, sizeof(rx_buf));
    }
}

优化后的串口通信模块响应延迟从50ms降低到实时响应,支持连续命令处理,抗干扰能力显著提升,缓冲区溢出风险也完全消除。这些改进使得系统能够稳定可靠地与上位机进行数据交互。

6. 系统整合与性能调优

各个模块单独调试完成后,就需要将它们整合成一个完整的系统。整合过程中最重要的是处理好模块之间的数据流和控制流,避免资源冲突和逻辑错误。

在主循环中,我按照合理的顺序调用各个处理函数:

while (1) {
    key_pro();        // 按键处理
    lcd_pro();       // LCD显示
    getR38value();   // ADC采集
    getR37value();
    led_pro();       // LED控制
    if(rx_pointer != 0) {
        rx_pro();    // 串口处理
    }
}

这个顺序是经过仔细考虑的:先处理用户输入,然后更新显示,接着采集数据,最后处理通信。这样的安排保证了用户操作的及时响应,同时数据采集和显示也能保持较好的实时性。

在性能调优方面,我主要关注以下几个方面:首先是CPU利用率,通过合理设置各模块的处理频率,避免不必要的计算和等待。其次是内存使用,优化数据结构和缓冲区大小,减少内存碎片。最后是响应速度,确保系统对用户操作和外设事件都能及时响应。

中断处理也是需要特别注意的地方。系统中使用了定时器中断进行LED控制,串口中断进行数据接收,这些中断服务函数应该尽量简短,避免长时间占用中断资源。我在中断中只设置标志位,实际的处理放在主循环中执行,这样既能保证及时响应,又不会影响其他任务的执行。

电源管理是另一个优化点,特别是在电池供电的应用中。通过合理配置外设的功耗模式,在不需要的时候关闭或休眠,可以显著延长系统的工作时间。虽然在这个比赛中不是主要考核点,但良好的功耗设计习惯对实际项目很有帮助。

7. 常见问题与调试技巧

在开发过程中,我遇到了不少典型问题,这里分享一些解决方案和调试技巧。

ADC采集不准是一个常见问题,除了前面提到的软件滤波外,还要注意硬件方面的因素。电源电压的稳定性对ADC精度影响很大,最好使用稳定的基准电压源。模拟和数字部分的地线要分开布局,避免数字噪声干扰模拟信号。采样时间设置也很重要,要根据信号源阻抗选择合适的采样时间。

LCD显示异常往往与初始化序列有关。不同型号的LCD初始化参数可能不同,需要仔细查阅数据手册。显示内容乱码可能是字库问题或者数据传输错误,可以通过简化显示内容逐步排查。

按键失灵或者多次触发通常是消抖处理不当。除了软件消抖,还可以在硬件上增加电容滤波。按键扫描频率也很重要,太慢会影响响应速度,太快会增加CPU负担,一般10-20ms的扫描间隔比较合适。

串口通信问题比较复杂,可能涉及波特率设置、数据格式、流控制等多个方面。我习惯先用串口调试助手确认硬件连接正常,然后再调试软件部分。数据接收不完整可以检查中断优先级和缓冲区大小,数据错误可以检查波特率是否匹配。

调试过程中,LED灯是最简单的调试工具。通过控制不同的LED灯亮灭,可以直观地显示程序执行到哪个阶段,或者某些条件是否满足。串口打印也是重要的调试手段,可以输出详细的运行状态和变量值。

版本控制很重要,特别是在时间紧张的比赛中。我习惯在实现每个重要功能后都进行一次代码备份,这样当新引入的代码导致问题时,可以快速回退到稳定版本。

蓝桥杯嵌入式省赛实战:STM32系统设计、模块化编程与调试全解析 嵌入式系统开发是连接硬件与软件的核心技术领域,其核心在于微控制器(如STM32)对外设资源的精准控制与高效管理。其基本原理是通过C语言等底层编程,驱动GPIO、ADC、定时器等硬件模块,实现数据采集、人机交互和实时控制。掌握这项技术对于构建智能设备、物联网终端等具有重要工程价值,广泛应用于工业控制、消费电子和竞赛实践等场景。本文以蓝桥杯嵌入式竞赛为具体切入点,深入剖析基于STM32F103的**系统软件架构**设计与**时间片轮询**调度策略,详解LCD显示、按键处理、ADC采样、EEPROM存储等关键模块 阅读详情

相关推荐

蓝桥杯嵌入式国赛:从RTOS到系统设计的实战进阶指南

嵌入式系统开发的核心在于实现多任务协同与实时响应,其原理基于任务调度、中断管理和资源共享机制。掌握实时操作系统(RTOS)如FreeRTOS,能有效管理任务优先级与通信,提升系统可靠性与可维护性,这是现代嵌入式开发的关键技术价值。在工业控制、物联网设备等应用场景中,稳定的多任务处理与性能优化至关重要。本文聚焦蓝桥杯嵌入式国赛,深入剖析其如何考察RTOS应用、ADC采样滤波、LCD刷新优化等实战技能,为参赛者提供从系统框架搭建到调试策略的完整工程实践路径,助力提升嵌入式综合开发能力。

weixin_30399155的博客 484

蓝桥杯嵌入式省赛模拟实战:基于ADC与UART的电阻检测系统优化

本文详细介绍了蓝桥杯嵌入式省赛中的电阻检测系统优化实践,重点讲解了ADC电压采集精度提升、UART通信稳定性增强以及系统实时性保证等关键技术。通过状态机按键处理、双缓冲LCD显示和超时重传机制,显著提升系统性能与可靠性,为参赛者提供实用的开发指导。

l1k9j8h7g6的博客 655

蓝桥杯嵌入式省赛实战:STM32时间片轮询与模块化设计解析

在嵌入式系统开发中,单片机外设驱动与实时任务调度是构建稳定应用的核心基础。其原理在于通过合理配置GPIO、ADC、I2C、USART等硬件接口,并采用高效的软件架构来协调多任务执行。这种技术的价值在于能够确保系统资源被高效利用,同时满足复杂功能的实时性要求,是连接硬件操作与上层应用的关键桥梁。其典型应用场景包括环境监测、智能控制和人机交互系统等。本文以第七届蓝桥杯嵌入式省赛为具体案例,深入剖析了如何运用时间片轮询架构和模块化设计思想,来应对比赛中的综合开发挑战,例如实现传感器数据采集、LCD菜单显示和串口通

aibiba0894的博客 485

蓝桥杯第十六届嵌入式省赛实战:基于STM32的PWM信号生成与频率捕获系统设计

本文详细解析了蓝桥杯第十六届嵌入式省赛的PWM信号生成与频率捕获系统设计。基于STM32平台,通过CubeMX配置、定时器应用、ADC采样及状态机设计,实现精准的PWM输出与频率测量,并分享了系统优化与调试技巧,助力嵌入式开发者提升实战能力。

oauth7security的博客 1021

【蓝桥杯单片机】从省赛真题到实战:温度监控系统的设计与代码解析

本文详细解析了蓝桥杯单片机省赛中的温度监控系统设计,涵盖DS18B20温度采集、PCF8591 DAC输出、数码管显示及按键处理等关键技术。通过实战代码示例和调试经验分享,帮助参赛者掌握单片机外设驱动和系统逻辑实现,提升在蓝桥杯比赛中的实战能力。

weixin_30314793的博客 464

2024年蓝桥杯物联网省赛实战:从外设配置到通信协议全解析

本文全面解析2024年蓝桥杯物联网省赛实战技巧,涵盖外设配置、通信协议及系统调试等核心内容。重点介绍双节点架构下的硬件初始化、LoRa无线传输优化及常见故障排查方法,帮助参赛选手高效备赛。

weixin_29294395的博客 368

第七届蓝桥杯嵌入式省赛模拟题:电压测量监控设备完整项目实战

嵌入式微控制器是专为特定应用设计的微处理器,它集成了存储器、输入输出端口、定时器/计数器、通信接口等多种外设。与通用微处理器相比,嵌入式微控制器能够直接与传感器、执行器等硬件设备相连接,是实现智能化控制的关键部件。实时操作系统(RTOS)是一种特别设计用来执行实时应用程序的系统,这种系统能够在有限的时间内对外部事件做出及时响应。在嵌入式系统中,尤其是在需要精确控制时间的应用中,RTOS具有关键作用。与传统的操作系统相比,RTOS更注重任务调度的确定性和预测性。

weixin_29050829的博客 780

【蓝桥杯嵌入式实战】光敏电阻:从分压电路到智能光控的ADC与比较器双模式解析

本文详细解析了蓝桥杯嵌入式竞赛中光敏电阻的应用,从基础原理到ADC与比较器双模式开发。通过分压电路设计、STM32G4的ADC配置及LM393比较器应用,实现智能光控系统,涵盖硬件连接、软件优化及常见问题解决方案,为嵌入式开发者提供实战指导。

weixin_30542079的博客 352

蓝桥杯嵌入式省赛真题解析:STM32G431外设协同与状态机设计

嵌入式系统开发中,外设协同与状态机设计是实现高可靠性实时控制的核心能力。其原理在于通过精确的时钟配置、资源冲突规避与事件驱动的状态迁移,保障输入捕获、PWM输出、ADC采集等多任务在有限硬件资源下的确定性执行。该技术具有强实时性、低耦合性与高可验证性,广泛应用于智能仪器、工业测控及竞赛级嵌入式系统开发。本文以2023年蓝桥杯嵌入式省赛真题为载体,深入剖析STM32G431平台下输入捕获测频、动态PWM调制与ADC抗干扰采样三大关键技术的工程落地路径,并结合三层状态机架构实现复杂人机交互逻辑,为嵌入式工程师提

weixin_33622085的博客 736

蓝桥杯单片机国赛:时间片轮询与状态机架构的嵌入式系统设计实战

在嵌入式系统开发中,实时性与多任务协同是核心挑战。其基本原理是通过合理的软件架构,在单一微控制器上高效管理多个外设与任务。时间片轮询与有限状态机(FSM)是解决此问题的经典工程实践,它们通过分时复用CPU和明确定义系统状态,确保了系统的实时响应与逻辑清晰。这种架构对于资源受限的单片机开发具有极高价值,广泛应用于智能家居控制、环境监测等需要稳定处理多种输入输出的场景。本文以蓝桥杯单片机国赛为具体切入点,深入剖析如何运用时间片轮询调度器管理数码管、按键等基础外设,并结合状态机处理复杂的用户交互逻辑,为备战此类综

weixin_30292843的博客 440

蓝桥杯嵌入式省赛/国赛必备:一个ADC引脚搞定8个按键的硬件设计与软件滤波实战

本文详细解析了蓝桥杯嵌入式竞赛中ADC按键的硬件设计与软件滤波技术,通过一个ADC引脚实现8个按键检测的高效方案。从电阻网络设计、动态校准到软件滤波算法,全面介绍竞赛必备的实战技巧,帮助选手在资源受限环境下优化IO使用,提升系统稳定性与响应速度。

weixin_30372371的博客 245

蓝桥杯单片机省赛经典题型与实战源码合集(第3届~第12届)

蓝桥杯单片机竞赛作为全国高校范围内极具影响力的嵌入式开发赛事,致力于提升学生在单片机应用、系统设计与工程实践方面的综合能力。竞赛不仅考验选手对硬件电路设计、C语言编程、传感器应用等基础技能的掌握,更强调系统集成与问题解决能力。本章将从赛事背景入手,深入解析参赛的意义与价值,帮助读者明确学习目标与技术方向。同时,我们将梳理竞赛的完整流程,包括报名、初赛、决赛等阶段,使参赛者对整体安排有清晰认知。在评分标准部分,我们将结合往届命题趋势,分析出题方向与考察重点,为后续章节的具体项目开发奠定坚实基础。

weixin_35516273的博客 920

蓝桥杯国赛嵌入式系统设计:基于STM32的测量控制与通信综合实战

在嵌入式系统开发中,实时数据采集、人机交互与通信协议是构建智能设备的核心基础。其原理在于通过微控制器(如STM32)的ADC、GPIO、定时器和UART等外设,实现对模拟/数字信号的精确感知、处理与响应。掌握这些技术对于开发工业控制、物联网终端等应用具有重要价值,能够实现从环境感知到决策执行的完整闭环。本文以蓝桥杯国赛真题为具体应用场景,深入剖析了如何基于有限资源,设计一个稳定可靠的“测量-显示-控制-通信”综合系统。文中详细讲解了ADC采样与软件滤波的实现,以及状态机在复杂按键处理中的应用,为开发者提供了

weixin_34081595的博客 348

蓝桥杯嵌入式国赛ADC按键设计:从电路原理到软件滤波实战

模数转换器(ADC)是嵌入式系统中连接模拟世界与数字世界的核心接口,其原理是将连续的模拟电压信号转换为微控制器可处理的数字值。在资源受限的嵌入式应用场景中,如何高效利用有限的IO口实现多按键检测是一个经典挑战。ADC按键技术通过电阻分压网络,将多个按键状态映射到单个ADC通道的不同电压值上,实现了硬件资源的极致节省。其技术价值在于综合考察了电路设计、模拟信号处理、软件滤波算法及实时系统架构能力。该方案广泛应用于家电控制面板、工业人机界面等对成本与可靠性要求较高的场景。本文以蓝桥杯嵌入式竞赛为背景,深入剖析A

weixin_29192211的博客 292

第七届蓝桥杯嵌入式省赛实战:模拟液位检测告警系统设计与实现

htmltable {th, td {th {pre {简介:“第七届蓝桥杯嵌入式开发省赛——模拟液位检测告警系统”是一项面向嵌入式技术爱好者的实践性竞赛项目,聚焦物联网场景下的实际系统设计。参赛者需基于嵌入式微控制器完成液位数据采集、信号处理与阈值告警功能的软硬件实现。项目涵盖传感器原理、ADC数据采集、C语言编程、硬件调试及实时响应机制等核心技术,全面考察选手在有限时间内完成系统设计、编码调试与工程文档撰写的能力。

weixin_34535286的博客 1363

第七届蓝桥杯嵌入式省赛:液位检测告警系统实战解析

STM32F103是STMicroelectronics(意法半导体)生产的一款高性能Cortex-M3内核的微控制器,广泛应用于嵌入式系统领域。这款微控制器提供了丰富的外设接口、高性能的运算能力以及灵活的电源管理功能,使其成为液位检测系统中理想的控制单元。在设计和开发液位检测系统时,选择合适的检测算法至关重要。这些算法的核心目的是提供准确和可靠的液位信息,以便于系统采取相应的行动。以下是一些常见的液位检测算法,以及它们的工作原理、优缺点和适用场景。

weixin_42173218的博客 1005

蓝桥杯单片机国赛实战:从驱动架构到状态机编程的嵌入式系统设计

嵌入式系统开发是连接硬件与软件的核心技术领域,其关键在于实现稳定可靠的硬件驱动与高效的任务调度。理解单片机工作原理、掌握外设通信协议(如I2C、单总线)是构建系统的基础。通过模块化驱动设计,开发者能有效管理复杂外设,而状态机编程则解决了多任务环境下的实时响应难题,这对于实现如环境监测、智能控制等应用场景至关重要。本文以蓝桥杯国赛为背景,深入剖析了驱动层代码架构与状态机应用,并融入了**CT107D开发板**和**PCF8591**等关键硬件模块的实战经验,为嵌入式开发者提供了一套可复用的工程方法与调试策略。

weixin_33991418的博客 381

第十届蓝桥杯单片机组省赛实战解析

蓝桥杯全国软件和信息技术专业人才大赛作为国内具有广泛影响力的IT类学科竞赛之一,其单片机组竞赛聚焦嵌入式系统开发能力的综合考察。本章系统介绍赛事背景,包括主办方、参赛对象与竞赛意义;详细解析比赛赛制,涵盖省赛、国赛的晋级机制及题型结构;并深入剖析评分标准,如功能实现、代码规范、硬件设计等方面的权重分配。此外,还将结合近五年赛题趋势,提炼出“硬件搭建+模块编程+系统优化”的核心备赛方向,为后续章节的深入学习打下坚实基础。本项目实现了以下技术亮点:- 多功能集成:电压与频率测量共用单片机资源。

weixin_42186387的博客 1094
上一篇: 从零构建:设备树与Makefile在嵌入式Linux移植中的双核心解析
下一篇: 基于555定时器的多功能数字时钟设计与实现
sql99
博客等级 码龄19年 168粉丝 1905原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值