HC-SR04超声波测距模块从入门到精通:手把手教你避开5个常见接线坑

HC-SR04测距不准?除了代码,你可能忽略了这3个硬件和环境的坑 本文深入探讨了HC-SR04超声波模块测距不准的三大硬件和环境因素,包括电源纹波、材料声阻抗和环境温湿度的影响。通过实证测试和优化方案,如LC滤波电路、动态增益调整算法和环境补偿策略,帮助开发者提升测距精度。文章还提供了多模块协同和抗干扰算法体系的实用建议,适用于STM32等开发平台。 阅读详情

HC-SR04超声波测距模块实战:从接线到代码的深度避坑指南

第一次把那个小小的HC-SR04模块接到Arduino上,屏幕上跳出一个“0”或者一个超大的数字时,那种感觉我至今记得——既兴奋又困惑。兴奋的是东西动了,困惑的是它好像没按我想的来。超声波测距听起来很酷,原理也简单,但真到了动手环节,从电源接反到读数飘忽,新手能踩的坑一个接一个。这篇文章不打算复述那些你随便一搜就能找到的时序图和工作原理,我想和你聊聊那些原理图背后、真正在面包板和示波器上发生过的事。我们会从最基础的接线安全讲起,深入到用代码和工具去驯服信号,最终让你手里的HC-SR04变得稳定可靠,无论是做个小车避障,还是搞个智能家居的感应装置,都能心里有底。

1. 电源与接线:一切稳定测量的基石

很多人拿到模块,第一反应就是照着网上最常见的图,把VCC接5V,GND接地,TRIG和ECHO随便找两个数字引脚一连,然后就开始写代码。这恰恰是第一个,也是最危险的坑。HC-SR04模块的核心工作电压是5V,这没错,但它的信号引脚(TRIG和ECHO)的输出电平也是5V TTL逻辑。如果你用的主控是Arduino Uno这类5V系统,那皆大欢喜。但如果你用的是树莓派(Raspberry Pi)、ESP8266或绝大多数3.3V逻辑的微控制器,直接连接就可能损坏你宝贵的主控GPIO口。

注意:带电操作或接错线是损坏模块和主控的最常见原因。务必在断电状态下连接线路,并反复确认VCC和GND没有接反。

这里需要一个清晰的电压匹配方案。对于3.3V系统,不能简单地将ECHO信号直接接入,必须进行电平转换。下面是一个快速对照表,帮你理清思路:

主控平台工作电压HC-SR04 VCCHC-SR04 ECHO 信号处理推荐方案
Arduino Uno/Mega5V接5V可直接连接直连
树莓派 (GPIO)3.3V接5V必须分压或转换电阻分压电路
ESP32/ESP82663.3V接5V必须分压或转换电平转换模块
STM32 (3.3V)3.3V接5V必须分压或转换使用带逻辑转换的接口

对于树莓派或ESP系列,最经济实用的方法是使用电阻分压电路,将ECHO脚的5V输出降至3.3V左右。一个经典的接法是:

  1. HC-SR04的ECHO引脚串联一个1kΩ电阻。
  2. 从这个1kΩ电阻后,再连接一个2kΩ电阻到GND。
  3. 主控的GPIO引脚就接在1kΩ和2kΩ电阻之间。

这样,GPIO引脚得到的电压大约是5V * (2k / (1k + 2k)) ≈ 3.33V,安全了。你可以用下面的简图来理解这个连接:

HC-SR04 ECHO ---[1kΩ]---|---- GPIO (Input)
                         |
                        [2kΩ]
                         |
                        GND

除了电压,接线本身也有讲究。杜邦线接触不良、线缆过长(超过50cm)都会引入噪声,导致偶尔的误触发或回波丢失。对于需要一定距离安装的项目,建议使用屏蔽线或双绞线,并且一定要把GND线也一并连接好,为信号提供一个清晰的回流路径。

2. 时序与代码:不仅仅是发送一个脉冲

理解了安全接线,我们来看驱动它的代码。几乎所有教程都会告诉你:给TRIG一个10微秒以上的高电平,然后去测量ECHO高电平的持续时间。用Arduino写出来,核心代码往往长这样:

digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);

这段代码在大多数情况下能工作,但它隐藏了两个问题。第一,delayMicroseconds(2)这个操作,在时序要求极其严格的场景下,其实是一种“偷懒”的写法,它假设2微秒后低电平绝对稳定了。第二,也是更关键的,它没有考虑模块的“休息时间”。

HC-SR04模块在完成一次测距循环后,内部电路需要时间来处理和恢复。如果连续不断地触发它,前一次测量的回波可能会干扰下一次的发射信号,导致测量结果混乱或直接失败。模块的数据手册通常会建议两次测量之间至少间隔60毫秒。但60ms是一个保守值,在实际编程中,我们可以更智能地处理。

一个健壮的触发-测量循环应该包含状态检查。下面是一个优化后的Arduino代码片段,它增加了错误处理和合理的间隔:

const unsigned long MEASURE_INTERVAL = 60; // 最小测量间隔,单位ms
unsigned long lastMeasureTime = 0;

float getDistance() {
  // 检查是否满足最小间隔要求
  if (millis() - lastMeasureTime < MEASURE_INTERVAL) {
    return -1.0; // 返回错误码,表示还未到下次测量时间
  }

  // 确保触发引脚处于明确的低电平状态
  digitalWrite(trigPin, LOW);
  delayMicroseconds(5); // 稍长的稳定时间,替代常见的2us

  // 发送触发脉冲
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(12); // 略高于10us,确保可靠触发
  digitalWrite(trigPin, LOW);

  // 等待回波上升沿,并设置超时
  long duration = pulseIn(echoPin, HIGH, 30000); // 超时30ms,对应约5米距离

  if (duration == 0) {
    // pulseIn超时,未收到回波
    lastMeasureTime = millis();
    return -2.0; // 返回超时错误码
  }

  // 计算距离(单位:厘米)
  float distance = duration * 0.034 / 2;

  lastMeasureTime = millis();
  return distance;
}

这段代码的改进点在于:

  • 明确的低电平初始化:用delayMicroseconds(5)给了引脚状态更充分的稳定时间。
  • 脉冲宽度冗余:触发脉冲用了12微秒,略高于最小值,提高在稍有干扰环境下的可靠性。
  • 超时机制:pulseIn函数设置了超时参数(30000微秒),防止因为没收到回波而永远卡住。
  • 间隔管理:通过lastMeasureTime变量管理测量间隔,避免模块过载,同时也为调用者提供了判断依据(返回-1表示等待中)。

对于Python用户,比如在树莓派上使用RPi.GPIO库,思路完全相同,但要注意树莓派GPIO操作的精度和延时问题。尽量避免在测量循环中使用time.sleep()进行微秒级延时,因为操作系统调度会带来不可预测的误差。更好的做法是使用pigpio这类硬件定时更精确的库。

3. 环境干扰与测量误差:读懂示波器上的真相

代码写好了,读数也有了,但有时候数据会跳,或者在某些距离上突然不准。这时候,光看代码是没用的,你需要“看到”信号。一个示波器(即使是几十块钱的简易逻辑分析仪)在这里是无价之宝。

将示波器的通道一接TRIG,通道二接ECHO,触发模式设为单次或正常,触发电平设在3V左右。然后启动你的测距程序。你应该会看到这样的理想波形:

  1. TRIG引脚上出现一个宽度约10-12微秒的干净方波脉冲。
  2. 在TRIG脉冲结束后,ECHO引脚从低电平变为高电平,并维持一段时间(T),然后回落。

这个高电平时间T,就是超声波飞行的时间。问题往往出现在这里:

  • ECHO上升沿缓慢或带有毛刺:如果ECHO信号从0V上升到5V的过程很慢,或者边沿有很多小抖动,你的微控制器在检测上升沿时就可能提前或延后触发,引入误差。这通常是电源噪声或地线干扰造成的。解决方法是为模块的VCC和GND之间并联一个10uF的电解电容和一个0.1uF的陶瓷电容,就近放置,为模块提供干净的本地电源。
  • TRIG脉冲上有振荡:如果发送的触发脉冲本身不干净,顶部有振铃,可能会导致模块内部电路误判,影响发射的超声波质量。这通常是由于驱动TRIG的引脚输出能力不足或走线过长引起的感性效应。尝试在TRIG引脚和GND之间加一个100pF的小电容,或者缩短走线。
  • 测量近距离(<2cm)时失败:HC-SR04的盲区大约是2厘米。如果你需要测更近的距离,这个模块本身就不合适。但有时在2-5厘米范围内读数也不稳。这是因为发射的超声波波束有一定宽度,在近距离时,发射信号可能通过空气或模块外壳直接耦合到接收器,产生“串扰”。除了保持60ms以上的测量间隔,确保被测物体表面平整、面积足够大(大于0.5平方米),也能有效减少这种干扰。

误差的另一个主要来源是声速。我们计算时默认使用340m/s(20℃干燥空气中的速度)。但温度变化会显著影响声速。温度每升高1℃,声速增加约0.6m/s。对于一个20厘米的测量距离,在30℃的环境下,如果仍用340m/s计算,误差能达到近3毫米。对于精度要求高的项目,加入温度补偿是必要的。公式可以修正为: 声速 = 331.4 + 0.606 * 温度(℃) 单位是m/s。

4. 滤波与数据融合:让读数稳定下来

即使解决了硬件和时序问题,单次超声波测距读数依然可能因为空气中微小的湍流、被测物体表面材质(如柔软布料会吸收声波)等因素而跳动。我们不能相信任何一次单独的测量,必须通过软件算法让数据平滑、可信。

移动平均滤波是最简单有效的方法。它不是取一次读数,而是连续取N次读数,去掉最大最小值(可选),然后求平均值。下面是一个简单的Arduino实现类:

class MovingAverageFilter {
private:
    float *buffer;
    int size;
    int index;
    bool bufferFilled;

public:
    MovingAverageFilter(int windowSize) {
        size = windowSize;
        buffer = new float[windowSize];
        index = 0;
        bufferFilled = false;
        for(int i=0; i<size; i++) buffer[i] = 0.0;
    }

    ~MovingAverageFilter() {
        delete[] buffer;
    }

    float process(float newValue) {
        buffer[index] = newValue;
        index = (index + 1) % size;
        if(index == 0) bufferFilled = true;

        float sum = 0.0;
        int count = bufferFilled ? size : index;
        for(int i=0; i<count; i++) {
            sum += buffer[i];
        }
        return sum / count;
    }
};

// 使用时
MovingAverageFilter filter(5); // 窗口大小为5
float rawDistance = getDistance();
if(rawDistance > 0) { // 只处理有效的正数距离
    float smoothDistance = filter.process(rawDistance);
    // 使用 smoothDistance
}

对于更复杂的场景,比如机器人导航,可能需要结合其他传感器。一个经典的组合是超声波+红外。红外测距模块响应快、精度高,但测量范围小且易受环境光干扰;超声波范围大、不受光线影响,但反应慢、有盲区。你可以用红外传感器处理10-80厘米的快速、精确测距,用超声波处理80厘米到数米的距离,并通过一个简单的决策逻辑来融合数据:

如果 红外读数有效且在可信范围内:
    使用红外数据
否则:
    使用超声波数据(经过滤波)

这种融合能大幅提升系统在动态环境中的鲁棒性。

5. 高级应用与性能压榨

当你已经能稳定获取距离数据后,可以玩些更花的。比如,用多个HC-SR04模块实现简单的二维扫描。需要注意的是,多个超声波模块同时工作会相互干扰。必须采用分时复用的策略:同一时间只触发一个模块,等它的测量周期完全结束后,再触发下一个。这需要精细的时序控制,但用状态机的方式并不难实现。

另一个方向是提高刷新率。官方建议的60ms间隔很保守。在实际测试中,在中等距离(1-2米)、环境良好的情况下,将间隔缩短到30ms甚至20ms,模块依然能稳定工作。你可以通过实验,为你的特定应用找到一个安全和性能的平衡点。方法就是逐步缩短MEASURE_INTERVAL,同时用示波器观察ECHO信号是否出现异常(如脉冲宽度异常变短或出现多个脉冲),并用代码统计测量失败率。

最后,别忘了功耗。HC-SR04在工作时电流可达15mA。对于电池供电的项目,在不需测量时,可以通过一个MOSFET开关电路彻底切断模块的5V供电,将待机电流降至零。触发测量前,先打开电源,稍作延时(如10ms)让模块稳定,再进行测距操作,完成后立即断电。

HC-SR04超声波测距模块从入门到精通:手把手教你避开那些新手常踩的坑 本文深入解析HC-SR04超声波测距模块的工作原理与常见问题,手把手教你避开新手常踩的坑。内容涵盖从硬件连接、电源去耦、时序控制到精度优化的全流程,重点讲解了如何通过非阻塞代码实现、温度补偿和数字滤波提升测量稳定性与精度,并提供了高级应用与系统化故障排查指南。 阅读详情

相关推荐

ESP32与HC-SR04超声波测距模块的智能避障系统实战

本文详细介绍了如何利用ESP32与HC-SR04超声波测距模块构建智能避障系统。从硬件连接到代码实现,再到避障逻辑设计,提供了完整的实战指南。文章还涵盖了常见问题排查、性能优化技巧以及创新应用场景,帮助开发者快速掌握超声波测距技术并应用于智能小车、自动导览机器人等项目。

weixin_30839881的博客 471

如何使用HC-SR04模块实现Flipper Zero超声波测距:从入门到精通

Flipper Zero是一款功能强大的开源硬件设备,支持通过GPIO接口连接各种传感器模块。其中,HC-SR04超声波测距模块是最受欢迎的扩展之一,能够帮助用户轻松实现非接触式距离测量功能。本文将详细介绍如何在Flipper Zero上安装、配置和使用HC-SR04模块,让你快速掌握超声波测距技术。 ## HC-SR04模块简介:原理与优势 HC-SR04是一款低成本、高精度的超声波测距模块

gitblog_01110的博客 908

掌控板传感器实战:用舵机和超声波打造智能避障小车(附完整代码)

本文详细介绍了如何使用掌控板、舵机和超声波传感器从零搭建一台智能避障小车。通过清晰的硬件连接指南和完整的代码示例,手把手教你实现小车的环境感知、决策与自主运动,是学习嵌入式开发和机器人入门的绝佳实践项目。

weixin_29159127的博客 598

HCSR04超声波传感器完整使用指南:从入门到精通

HCSR04超声波传感器是Arduino项目中常用的距离测量模块,本指南将带你从基础安装到高级应用,全面掌握HCSR04超声波传感器的使用方法。 ## 🚀 快速开始:5分钟上手HCSR04 ### 环境准备与安装 首先通过以下命令获取HCSR04超声波传感器库: ```bash git clone https://gitcode.com/gh_mirrors/hc/HCSR04-ultr

gitblog_00607的博客 411

基于FreeRTOS的STM32智能小车避障系统设计与实现

本文详细介绍了基于FreeRTOS实时操作系统和STM32微控制器的智能小车避障系统设计与实现。通过将超声波测距、电机控制、决策规划等功能模块化为独立任务,利用FreeRTOS的任务调度、队列和信号量机制实现高效协同,解决了传统裸机编程在多传感器场景下的响应迟滞与代码混乱问题,显著提升了系统的实时性与稳定性。

weixin_29174385的博客 342

Arduino十大经典项目实战:从PWM到物联网的完整技能进阶

微控制器作为嵌入式系统的核心,通过编程实现对物理世界的感知与控制。其工作原理基于数字与模拟信号的转换,结合传感器与执行器形成完整的控制闭环。在物联网与智能硬件开发中,掌握微控制器编程能快速验证产品原型,降低开发门槛。Arduino作为开源硬件平台,以其简洁的编程环境和丰富的生态库,成为学习嵌入式开发的理想选择。通过经典项目如呼吸灯、超声波测距、蓝牙遥控小车等实践,可以系统学习PWM控制、传感器集成、通信协议等关键技术,最终应用于智能家居、自动化控制等场景,实现从概念到产品的完整创造流程。

weixin_34062469的博客 555

从零打造智能垃圾桶:Arduino与传感器实战入门指南

嵌入式系统是现代智能设备的核心,它通过传感器感知环境、微控制器处理逻辑、执行器做出动作,构成了物联网的底层基础。其技术价值在于将软件逻辑与物理世界连接,实现自动化控制。在智能家居、环境监测等应用场景中,嵌入式开发是关键技术。本文以热门的Arduino平台和超声波传感器为例,通过一个完整的智能垃圾桶项目,详细解析了从硬件选型、电路搭建到代码编写的全流程。项目涉及舵机控制、PWM信号原理以及常见的电源噪声问题排查,为初学者提供了从概念到实践的清晰路径,是嵌入式开发入门的绝佳实践案例。

weixin_34345753的博客 316

百元成本打造ESP32智能机器人:从电机控制到Wi-Fi遥控全解析

嵌入式开发与物联网应用的核心在于如何将软件逻辑与物理世界连接,实现智能控制。其基本原理是通过微控制器(MCU)处理传感器数据并驱动执行器,从而构建具备感知、决策与执行能力的自主系统。这项技术的价值在于将抽象的计算能力赋予实体设备,极大地拓展了自动化和智能化的应用边界。在智能家居、教育机器人、工业巡检等场景中,低成本、高灵活性的开发平台需求旺盛。本文聚焦于基于ESP32的双轮机器人项目,它完美诠释了这一技术路径:利用ESP32内置的Wi-Fi/蓝牙实现**无线通信**,通过PWM信号和电机驱动模块完成**差速

weixin_34221775的博客 514

3小时精通ESP32智能小车:从零构建你的第一台自主机器人

还在为智能机器人项目的高昂成本和技术门槛感到困扰吗?想要亲手打造一台能够自主避障、智能导航的小车,却不知如何入手?今天,我将为你揭开一个成本极低、效果极佳的解决方案:基于Arduino-ESP32平台,用不到150元的预算,在短短3小时内完成从硬件组装到软件调试的全过程,打造一台功能完整的智能避障小车! 这个ESP32智能小车项目不仅是学习嵌入式开发的绝佳实践,更是理解物联网、自动控制等核心技术

gitblog_00338的博客 451

AFMotor电机驱动扩展板详解:从L293D到TB6612,Mind+智能小车实战指南

在嵌入式开发与机器人项目中,电机驱动是连接微控制器与物理运动的核心环节。其基本原理是通过H桥电路控制电流方向与大小,实现电机的正反转与调速。这项技术对于智能小车、机械臂等动态系统至关重要,它直接决定了项目的动力性能与可靠性。常见的电机驱动芯片如L293D和TB6612,分别代表了经典教学级与高效性能级方案,它们在效率、发热和驱动能力上差异显著。掌握这些驱动技术,能极大降低硬件交互门槛,快速实现从创意到原型的转化。本文聚焦于AFMotor电机驱动扩展板,详细解析其与Mind+编程环境的结合应用,并通过智能小车

weixin_34060299的博客 410

米思奇(Mixly)图形化编程:从Arduino入门到物联网项目实战

图形化编程是一种通过拖拽可视化模块来构建程序逻辑的编程方式,它通过将抽象的代码语法封装成直观的积木块,降低了编程的入门门槛。其核心原理是将图形块序列映射并编译为底层可执行的机器代码。这项技术的价值在于能快速验证想法、培养计算思维,并平滑过渡到文本编程,尤其适用于嵌入式开发和物联网原型构建。在实际应用中,它常与Arduino、ESP32等开源硬件平台结合,用于实现智能小车、环境监测等物联网项目。本文聚焦的米思奇(Mixly)正是这样一个强大的图形化生态工具,它内置了丰富的硬件支持(如ESP32)和预置库,并提

weixin_33801856的博客 356

基于ESP32的智能感应灯DIY:从PIR传感器到Web控制全解析

物联网(IoT)与智能家居的核心在于将物理设备通过嵌入式系统接入网络,实现数据采集、逻辑处理与远程控制。其基本原理是通过微控制器(如ESP32)连接各类传感器(如人体红外PIR)和执行器(如LED灯带),运行本地状态机逻辑,并借助Wi-Fi模块提供网络服务。这一技术架构的价值在于实现了设备的可编程化与互联互通,极大提升了自动化与个性化控制能力,广泛应用于智能照明、环境监控等场景。本文以热门的ESP32开发板与WS2812B灯带为核心,详细讲解如何构建一个具备运动感应、灯光渐亮渐灭及Web远程控制功能的智能感

weixin_30500473的博客 314

Arduino Uno R3 从零到精通的完整学习路径与实战指南

微控制器开发板是嵌入式系统和物联网应用的核心硬件平台,它将处理器、内存和I/O接口集成于一体,为开发者提供了标准化的硬件抽象层。其工作原理在于通过固件和集成开发环境(IDE)屏蔽底层硬件细节,让开发者能够专注于应用逻辑的实现。这一技术极大地降低了硬件编程的门槛,加速了智能硬件和物联网设备的原型开发与产品化进程。在智能家居、工业自动化、教育机器人等广泛的应用场景中,开发板都扮演着关键角色。本文以经典的 Arduino Uno R3 开发板为具体切入点,深入剖析其硬件架构、软件生态和调试技巧,并系统规划了从基础

weixin_34356555的博客 390

电子设计竞赛实战:气垫悬浮车系统设计与PID控制算法详解

嵌入式系统开发是连接硬件与软件的核心技术领域,其关键在于实现稳定可靠的控制与实时响应。其基本原理是通过微控制器(如STM32)作为核心,协调传感器数据采集、算法决策与执行机构驱动,形成一个完整的闭环控制系统。这项技术的核心价值在于能够将抽象算法转化为精确的物理动作,广泛应用于智能车、机器人、工业自动化等场景。以电子设计竞赛中经典的“气垫悬浮车”项目为例,它完美诠释了这一过程。该项目要求综合运用**PID控制算法**实现精准的循迹与转向,并通过合理的**系统架构设计**(如时间片轮询)来整合动力、悬浮、感知等

weixin_30947043的博客 441

单片机实习岗位能力要求解析:从51到STM32的嵌入式学习路线与面试指南

嵌入式系统开发是连接硬件与软件的核心技术领域,其基础在于对微控制器(MCU)的深入理解与编程控制。从经典的51单片机到主流的ARM Cortex-M系列(如STM32),开发者需要掌握其工作原理,包括时钟系统、中断机制、存储器架构以及外设(如GPIO、定时器、UART、I2C、SPI)的驱动方式。这项技术的价值在于实现对物理世界的精准感知与控制,是物联网、智能硬件、工业自动化等应用的基石。在实际工程中,扎实的嵌入式C语言编程能力、硬件原理图阅读能力以及调试排错技能至关重要。常见的应用场景包括消费电子、汽车电

weixin_34208283的博客 397

树莓派创客实战:自制打字机、人体工学键盘与机械蝎子

在嵌入式开发与创客项目中,微控制器和单板计算机是实现智能控制的核心。其工作原理在于通过GPIO、PWM等接口连接并驱动各类执行器与传感器,完成从信号采集、逻辑处理到物理动作的闭环。这项技术的价值在于将软件算法与硬件实体深度融合,极大地拓展了自动化与个性化设备的可能性,广泛应用于智能家居、机器人、个性化外设等场景。本文聚焦于利用树莓派这一流行平台,结合**电机控制**与**传感器融合**技术,实战打造一套涵盖输入、输出与交互的个性化桌面系统,具体实现复古墨水打字机、可定制人体工学键盘及仿生机械蝎子三个趣味项目

weixin_30266885的博客 568

基于红外传感器与obniz的体感Flappy Bird游戏开发实战

物联网应用开发的核心在于实现物理世界与数字世界的实时交互,其基本原理是通过传感器采集环境数据,经由微控制器处理后,通过网络或本地接口传输给软件系统。这一技术框架在智能家居、工业监控和互动娱乐等领域具有广泛的应用价值。其中,传感器数据采集与前端可视化结合是典型的软硬件协同场景。本文以红外测距传感器和obniz开发板为例,详细解析如何将模拟量传感器数据通过移动平均滤波等算法进行平滑处理,并实时映射到HTML5 Canvas游戏逻辑中,实现一个通过手势距离控制游戏角色的体感交互应用。项目涵盖了从硬件接线、数据采集

weixin_31211977的博客 304

CVAT本地部署保姆级教程:用Docker Compose在Ubuntu上5分钟搞定你的私有数据标注平台

本文提供CVAT本地部署的保姆级教程,详细讲解如何在Ubuntu系统上使用Docker Compose快速搭建私有数据标注平台。从环境准备、Docker配置到CVAT部署全流程,涵盖硬件要求、性能优化及安全加固等关键步骤,帮助开发团队5分钟内完成高效、安全的标注环境搭建。

weixin_42619742的博客 383

慧净电子HL-1/HL-2小车&ATmega16A-PU&裸机+寄存器&AVR-GCC开源工具链学习(第二坑)

ATmega16A熔丝位配置学习记录 本文记录了慧净电子HL-1/HL-2开发板中ATmega16A熔丝位的配置要点: 熔丝位本质:硬件配置开关,决定芯片启动方式(类似汽车点火配置) 特殊逻辑:0表示"熔断/开启",1表示"完好/关闭"(与常规逻辑相反) 核心配置: 时钟源选择(外部12MHz晶振) 必须关闭JTAG以释放PC2-PC5引脚(小车电机控制关键) 保持SPIEN为0(禁止会锁死芯片) 当前配置: 低位:C4(外部晶振) 高位:D9(JTAG关闭+ISP使能)

共同成长,共同进步。 173

数理逻辑1 -- 命题演算1

一直对逻辑的东西很感兴趣,尤其最近做的东西和AI相关,因此下定决心系统地学习数理逻辑。这些笔记并不是严谨的描述,只是作为一些概念的快速参考,以及加入一些个人认为好玩的公式、定理和推导。 简单来说,数理逻辑系统是由一串“符号”组成的系统,基本元素是那一堆“符号”,由“符号”组成“式子”。逻辑系统并不关心“式子”是否对错,只关心“式子”是否存在,也即是假定存在某些“式子“,再确定”推导规则“(Rule

Jason渣神的专栏 1833

《Arduino与LabVIEW开发实战》第2章 LabVIEW基础

第2章 LabVIEW基础 2.1 LabVIEW与虚拟仪器 2.1.1 什么是虚拟仪器 仪器仪表发展方向有很多,其中一个重要方向是将计算机和仪器结合起来。具体来说有两种方式,一种是将微处理器或微控制器嵌入到仪器中,构建智能化的内含嵌入式系统的仪器仪表,这是嵌入式仪器;另一种是将仪器装入计算机中,以通用计算机硬件及操作系统为载体,外配数据采集卡等外部设备,通过编制不同功能的程序,以实现多种仪...

jxgy01的博客 490
上一篇: Ubuntu 20.04 下用 Postfix + Mailutils 搭建 SMTP 邮件服务器完整指南(避坑版)
下一篇: CCPD数据集实战:从下载到YOLOv8车牌检测的全流程指南
python9snake
博客等级 码龄1天 0粉丝 1724原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值