各款单片机点亮内置LED的入“坑“指南

这篇具有很好参考价值的文章主要介绍了各款单片机点亮内置LED的入“坑“指南。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


单片机(Microcontroller Unit, MCU)是一种集成了处理器核心、内存、输入/输出端口等多种功能于一体的微型计算机。几乎所有的单片机开发板都配备了至少一个内置的LED,通常用于简单的输出测试。本文将向您介绍几种流行的单片机如何点亮它们的内置LED。

1. Arduino Uno(基于ATmega328P)

Arduino是最受欢迎的单片机之一,特别适合初学者。它的编程环境友好,社区支持强大。

点亮LED的代码:

void setup() {
  pinMode(LED_BUILTIN, OUTPUT); // 将内置LED设置为输出模式
}

void loop() {
  digitalWrite(LED_BUILTIN, HIGH); // 打开LED
  delay(1000); // 等待1秒(1000毫秒)
  digitalWrite(LED_BUILTIN, LOW); // 关闭LED
  delay(1000); // 再等待1秒
}

这段代码会使Arduino板上的内置LED每隔一秒闪烁一次。

2. Raspberry Pi Pico(基于RP2040)

Raspberry Pi Pico是一款性价比极高的单片机,基于Raspberry Pi自家的RP2040微控制器。

点亮LED的代码(使用MicroPython):

from machine import Pin
import utime

led = Pin(25, Pin.OUT) # Raspberry Pi Pico板上的内置LED连接到GPIO 25

while True:
    led.toggle() # 切换LED的状态
    utime.sleep(1) # 等待1秒

这段代码将会使Pico上的内置LED每隔一秒切换一次状态。

3. STM32 Nucleo(基于多种STM32芯片)

STM32 Nucleo系列是STMicroelectronics推出的一系列开发板,支持多种STM32微控制器。

点亮LED的代码(使用C语言和STM32 HAL库):

#include "stm32f4xx_hal.h"

int main(void) {
  HAL_Init(); // 初始化HAL库
  __HAL_RCC_GPIOA_CLK_ENABLE(); // 使能GPIOA时钟

  GPIO_InitTypeDef GPIO_InitStruct = {0};
  GPIO_InitStruct.Pin = GPIO_PIN_5; // 假设内置LED连接到GPIOA的第5脚
  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
  GPIO_InitStruct.Pull = GPIO_NOPULL;
  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
  HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); // 初始化GPIO

  while (1) {
    HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_5); // 切换GPIOA第5脚的状态
    HAL_Delay(1000); // 等待1秒
  }
}

这段代码会使STM32 Nucleo板上的内置LED每隔一秒闪烁一次。

4. ESP32(基于ESP32芯片)

ESP32是Espressif Systems推出的一款具有Wi-Fi和蓝牙功能的单片机。

点亮LED的代码(使用Arduino IDE):

#define LED_BUILTIN 2 // ESP32的内置LED通常连接到GPIO2

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
  digitalWrite(LED_BUILTIN, HIGH);
  delay(1000);
  digitalWrite(LED_BUILTIN, LOW);
  delay(1000);
}

这段代码会使ESP32板上的内置LED每隔一秒闪烁一次。

5.整理阶段

下面是根据代码行数(包括空行和注释)对上述提供的代码示例进行排名的表格。请注意,代码长度并不直接反映编程难度或单片机的性能,它仅仅是代码字符数量的一个度量。

单片机平台 代码长度 代码行数
Arduino Uno 11
Raspberry Pi Pico (MicroPython) 中等 8
ESP32 (Arduino IDE) 11
STM32 Nucleo 19

这里的“代码长度”是基于行数的简单描述。STM32 Nucleo的代码示例最长,因为它包括了HAL库的初始化和配置代码。而Raspberry Pi Pico的代码示例较短,因为MicroPython提供了简洁的语法和高级的库函数。Arduino Uno和ESP32使用了Arduino IDE,所以代码长度相似,都是简洁的。

快来排个名

  1. Arduino Uno和ESP32 (Arduino IDE)
  2. Raspberry Pi Pico (MicroPython)
  3. STM32 Nucleo

为哈Arduino Uno和ESP32 (Arduino IDE)的代码"短"

Arduino Uno和ESP32的代码之所以被描述为“短”,是因为它们都使用了Arduino IDE进行编程,这个集成开发环境提供了许多内置的函数和简化的编程方式,使得代码编写更为简洁直观。在Arduino IDE中,许多底层的硬件细节都被抽象化了,开发者可以直接调用高级函数,而不需要像在某些其他平台那样编写复杂的配置代码。

例如,在Arduino和ESP32的代码示例中,我们看到了以下几点简化:

  1. pinMode()digitalWrite() 函数:这些函数提供了简单的接口来设置GPIO引脚的模式(输入或输出)和状态(高电平或低电平)。这些函数隐藏了配置GPIO寄存器的复杂性。

  2. LED_BUILTIN 宏:Arduino和ESP32都定义了这个宏,它提供了板上内置LED连接的GPIO引脚号。这意味着用户不需要查找具体的引脚号,可以直接使用这个宏。

  3. delay() 函数:这个函数提供了一个简单的方法来实现延时,无需编写定时器代码或其他复杂的等待机制。

为哈STM32又那么"长"

相比之下,像STM32这样的平台可能需要更多的初始化代码,包括配置时钟系统、初始化GPIO端口等,这些都会使得代码更长、更复杂。而在Arduino IDE中,这些都是自动处理的,开发者可以专注于实现具体的功能逻辑。因此,即使Arduino Uno和ESP32在硬件上有所不同,它们的基本闪烁LED的代码示例在长度上是相似的。文章来源地址https://www.toymoban.com/news/detail-836515.html

到了这里,关于各款单片机点亮内置LED的入“坑“指南的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【51单片机】点亮第一个LED灯

    橙色 GPIO 概念 GPIO(general purpose intput output) 是通用输入输出端口的简称, 可以通过软件来控制其输入和输出。 51 单片机芯片的 GPIO 引脚与外部设备连接起来, 从而实现与外部通讯、 控制以及数据采集的功能。 不过 GPIO 最简单的应用还属点亮 LED 灯了, 只需通过软件控制

    2024年01月25日
    浏览(31)
  • 【51单片机】点亮LED灯(四种形式)

    💖作者简介:大家好,我是泽奀。全栈领域新星创作者🥇  📝个人主页:weixin_52632755的博客_泽奀_CSDN博客 🎉点赞➕评论➕收藏 == 养成习惯 😋 💬本系列哔哩哔哩江科大51单片机的视频为主以及自己的总结梳理📚  https://blog.csdn.net/weixin_52632755/category_11316267.html 介绍两个比

    2023年04月13日
    浏览(26)
  • 51单片机入门(2)LED点亮的背后

    上一节提到了51单片机开发环境的搭建,这节我们开始正式进入51单片机的学习——点亮LED。 所有的控制类芯片学习的第一个实践就是点亮LED,这是最简单、最基本的操作,但这个实现过程却可能攘括了单片机的整个工作流程,所以要想学好单片机,点灯实验是一定要掌握的

    2023年04月08日
    浏览(27)
  • 51单片机——LED 点阵点亮一个点,小白详解

    LED点阵介绍:        LED点阵是由发光二极管排列组成的显示器件,在我们生活中的电器中随处可见,被广泛用于汽车报站器,广告屏等。         通常用用较多的是8*8点阵,然后使用多个8*8点阵组成不同分辨率的LED点阵显示屏,比如16*16点阵可以使用4个8*8点阵构成。因

    2024年02月09日
    浏览(32)
  • STM32/51单片机编程入门(点亮LED)

    目录 一、Proteus电路仿真软件上的C51程序设计及仿真 1.原理图绘制 2.Keil5上的51程序编写 3.仿真 二、安装mdk5软件和stm32包,完成一个stm32的简单程序 1.mdk5软件中编写程序 2.stm32仿真程序调试 三、STM32F103系列芯片的地址映射和寄存器映射原理,GPIO端口的初始化设置的一般步骤

    2024年02月02日
    浏览(48)
  • 学习笔记|LED点亮原理|STC32G单片机视频开发教程(冲哥)|第四集-下:点亮LED

    新建工程时待选择的Device:如 STC32G12K128 Seies,需要先在下拉菜单中选择“STC MCU Database”,然后可以选择STC32G12K128 Seies了。 当前以上节课的代码为基础,经过精简后的代码(裸板未添加任何头文件): 需手工下载至开发板(屠龙刀三.1版)。 当前已实现功能:点亮P2^1端口的板

    2024年02月13日
    浏览(34)
  • 51单片机点亮LED灯以及实现2盏LED灯的交替闪烁

    点亮LED灯,根据单片机原理图 将LED灯1和LED灯2介入单片机的口设为低电平即可 代码如下: #include “reg52.h” sbit led1= P3^7; void main() { led1 = 0;//给led1一个低电平,点亮 } 结果图: 图中有一盏LED灯为我这个51单片机自带的电源接通灯,被代码点亮的只有一盏 实现2盏LED灯的交替闪烁

    2024年02月07日
    浏览(32)
  • 单片机C语言实例:1、点亮LED的多种方法

    不管学习什么单片机,通常点灯是迈入编程的第一步,点灯虽然简单,但是玩出花样来,需要的知识点还是不少的,本文归纳了15种点灯方式,看看自己会几种,看看是否能帮到努力点灯的工程师们。 程序实例1: 程序实例2: 程序实例3: 程序实例4: 程序实例5: 程序实例

    2024年02月09日
    浏览(21)
  • 51单片机点亮LED的5中方法(由简单到困难)

    本文将介绍用各种不同的方法和算法点亮51单片机LED的程序,包括详细的注释和说明。 以上代码使用了P1口的第0位控制LED的亮灭。当LED=0时,输出低电平,LED亮;当LED=1时,输出高电平,LED灭。 以上代码使用了延时函数和定时器来控制LED的闪烁。在这段代码中,我们定义了一

    2024年02月09日
    浏览(27)
  • 51单片机 | LED点阵实验 | 点亮一个点 | 显示数字 | 显示图像

      开发板上使用了 64 个红色 LED 按照行列排布组成的 8*8 LED 点阵。下面介绍 LED 点阵的使用。    LED 点阵 是由发光二极管排列组成的显示器件,在我们日常生活的电器中随处可见,被广泛应用于汽车报站器,广告屏等。如下所示:   通常应用较多的是 8*8 点阵,然后使

    2023年04月08日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包