Maixduino 支持基本的 Arduino 输入输出函数,你可以像使用其他 Arduino 开发板一样使用它们。
  Maixduino 可以自由操作不超过 32 个数字 IO 口,并可以将它们同时映射到 48 个 FPIO 上。
/*
Maixduino系列实验(7)
Maixduino 支持基本的 Arduino 输入输出函数,你可以像使用其他 Arduino 开发板一样使用它们。
Maixduino 可以自由操作不超过 32 个数字 IO 口,并可以将它们同时映射到 48 个 FPIO 上。
程序之一:寻找Maixduino板载LED端口号(pin1)
*/ void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);
  delay(1000);
  digitalWrite(LED_BUILTIN, LOW);
  delay(1000);
}
Maixduino 使用 K210 芯片的 PWM 模块实现模拟输出 analogWrite() 功能。
  不能使用模拟输入 analogRead() 功能。
  Maixduino 可以在 48 个自由引脚中最多选择 12 个设置模拟输出功能。
/*
Maixduino系列实验(7)
Maixduino 使用 K210 芯片的 PWM 模块实现模拟输出 analogWrite() 功能。
不能使用模拟输入 analogRead() 功能。
Maixduino 可以在 48 个自由引脚中最多选择 12 个设置模拟输出功能。
程序之二:通过模拟输出功能来设置呼吸灯
*/ 
int led1 = 1; // 板载LED 
void setup() {
  pinMode(led1, OUTPUT);
} 
void setColor(int value) {
  analogWrite(led1, 220-value);
} 
void loop() { 
  int i; for (i=0; i<221; i++)
  {
    setColor(i);
    delay(5);
  }
  delay(100);
}在Maixduino中,有两种类型的串行设备:UARTHSClass和UARTClass。
  序列对应于UARTHSClass,其余的Serial1、Serial2和Serial3是UARTClass。
  串行使用默认引脚4(RX),5(TX)。
/*
Maixduino系列实验(7)
程序之三:串口输出"Hello world!"
在Maixduino中,有两种类型的串行设备:UARTHSClass和UARTClass。
序列对应于UARTHSClass,其余的Serial1、Serial2和Serial3是UARTClass。
串行使用默认引脚4(RX),5(TX)。
*/ 
#include <Arduino.h> 
void setup() {
  Serial.begin(9600);
} 
void loop() {
  Serial.println(“Hello world!”); delay(2000);
}
/*
Maixduino系列实验(7)
程序之四:I2C测试
*/ 
#include <Wire.h> 
void setup() {
  Serial.begin (115200); 
  // 等待串行端口连接 
  while (!Serial)
  {
  }
  Serial.println ();
  Serial.println (“I2C Testing …”);
  byte count = 0;
  Wire.begin();
  Wire.beginTransmission(0×3C);
  Wire.write(0×80);
  Wire.write(0xAF);
  Wire.endTransmission();
  Serial.println (“Done.”);
}  
void loop() {
}
/*
Maixduino系列实验(7)
程序之五:I2C设备扫描仪
*/ 
#include <Wire.h> 
void setup() {
  Serial.begin (115200); 
  // 等待串行端口连接 
  while (!Serial)
  {
  }
  Serial.println ();
  Serial.println (“I2C scanner. Scanning …”);
  byte count = 0;
  Wire.begin(); 
  for (byte i = 8; i < 120; i++)
  {
    Wire.beginTransmission (i); 
    if (Wire.endTransmission () == 0)
    {
      Serial.print (“Found address: ”);
      Serial.print (i, DEC);
      Serial.print (“ (0x”);
      Serial.print (i, HEX);
      Serial.println (“)”);
      count++; 
      //delay (1); //也许不需要? 
    } 
  } // 结束for循环 
  Serial.println (“Done.”);
  Serial.print (“Found ”);
  Serial.print (count, DEC);
  Serial.println (“ device(s).”);
} 
void loop() {
}
 
            电子设计自动化(英语:Electronic design automation,缩写:EDA)是指利用计算机辅助设计(CAD)软件,来完成超大规模集成电路(VLSI)芯片的功能设计、综合、验证、物理设计(包括布局、布线、版图、设计规则检查等)等流程的设计方式。
Arduino-ESP32与ESP-IDF的版本对应表。
Arduino+ESP32上使用TFT_eSPI库快速点亮这个屏幕,驱动芯片ST7789
Queue 库提供了一个通用的 C++ 动态队列实现,专为在 Arduino 项目中使用而定制。
 
            本程序是小鹏物联网智能浇花套件的单机版程序(不连接物联网),供同学们参考。
 
            ArrayList 类是一个 C++ 模板类,它提供了 ArrayList 的实现,以便轻松存储任何指定类型的值。它允许使用索引进行高效存储和检索,支持排序操作。
 
            ESP32系列(包括ESP32-S3)搭载Xtensa双核处理器,默认情况下Arduino框架仅使用单核运行用户代码,通过多核编程,可以充分利用硬件资源来提升系统响应和性能。
在本文中,先解释 MSB(最高有效位)和 LSB(最低有效位)的概念,以及 MSBFIRST 和 LSBFIRST。然后展示了 MSBFIRST 和 LSBFIRST 的使用如何影响移位寄存器的输出。
TB6612是一款双路H桥型的直流电机驱动芯片,可以驱动两个直流电机并且控制其转速与方向,输入电压在3V~12V,因此在集成化、小型化的电机控制系统中,它可以作为理想的电机驱动器件。
 
            Arduino-ESP32项目提供的Preferences库是一个专为ESP32设计的非易失性存储解决方案,它替代了传统的Arduino EEPROM库,提供了更强大、更可靠的数据存储功能。
用于Arduino的Adafruit_GFX库为我们所有的LCD和OLED显示器提供了通用语法和图形功能集。这使Arduino程序可以轻松地在显示类型之间进行调整,而不必花太多精力……
