添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

注意:
如果总线上有其他电路,请注意可能存在物理损坏例如,当扬声器(G25)端子设置为INPUT模式时,流向扬声器的电流使主单元产生热量,请确保操作正确,因为存在损坏风险

使用示例:

#include <M5Stack.h>
void setup() {
    M5.begin();
    M5.Power.begin();
    pinMode(16, OUTPUT);
void loop() {

digitalRead

功能:

读取引脚的状态

函数原型:

int digitalRead(uint8_t pin);

返回值:

引脚输入状态(0/1)

注意:
1.如果引脚没有连接到任何东西,返回的值则将不定
2.如果控制线中有其他电路,它们将受到影响

使用示例:

#include <M5Stack.h>
void setup() {
    M5.begin();
    M5.Power.begin();
    M5.Lcd.setTextSize(2);
void loop() {
    M5.Lcd.printf("Read value:%d\n", digitalRead(39));
    delay(500);

digitalWrite

功能:

向引脚写入值

函数原型:

void digitalWrite(uint8_t pin, uint8_t val);

注意:
1.如果引脚模式未设置为OUTPUT,则不会返回正确的结果
2.请注意,如果控制线中有其他电路,则可能会造成物理损坏

使用示例:

#include <M5Stack.h>
void setup() {
    M5.begin();
    M5.Power.begin();
    M5.Lcd.setTextSize(2);
    pinMode(16, OUTPUT);
void loop() {
    M5.update();
    M5.Lcd.printf("Read value:%d\n", digitalRead(16));
    delay(500);

analogRead

功能:

读取模拟引脚的值

函数原型:

uint16_t analogRead(uint8_t pin);

uint8 uint8 输出状态(0/1)

返回值:

阅读结果响应的最大值由analogSetWidth()确定

使用示例:

#include <M5Stack.h>
void setup() {
    M5.begin();
    M5.Power.begin();
    M5.Lcd.setTextSize(2);
void loop() {
    M5.Lcd.printf("Read value:%d\n", analogRead(35));
    delay(500);

dacWrite

功能:

dac输出到指定引脚

函数原型:

void dacWrite(uint8_t pin, uint8_t value);

uint8

注意:
1.使用前请先将引脚模式设置为OUTPUT
2.G25和G26可用于M5Stack

使用示例:

#include <M5Stack.h>
void setup() {
    M5.begin();
    M5.Power.begin();
    M5.Lcd.setTextSize(2);
    pinMode(25, OUTPUT);
void loop() {
    dacWrite(25,0x40);
    delay(500);

ledcSetup

功能:

设置占空比输出

函数原型:

double ledcSetup(uint8_t channel, double freq, uint8_t resolution_bits);

uint8 value uint8 设定输出电压

返回值:

实际输出频率

注意:
通道和GPIO端口号不相同它应该被识别为用于存储设置的数字

ledcAttachPin

功能:

绑定引脚至指定 ledc 通道

函数原型:

void ledcAttachPin(uint8_t pin, uint8_t chan);

channel uint8 channel (0~15) double frequency (Hz) resolution_bits uint8_t 占空比指示的满量程位数

ledcWrite

功能:

输出具有指定的占空比值

函数原型:

void ledcWrite(uint8_t chan, uint32_t duty);

uint8_t uint8_t 渠道(0~15)

注意:
1.占空比取决于初始化时设置的位比例,使用8位指定时,指定0xFF会导致100%输出

使用示例:

#include <M5Stack.h>
uint8_t pin = 25;  // Set output pin number.设置输出引脚号
void setup() {
    M5.begin();
    M5.Power.begin();
    double f = ledcSetup(1, 1000, 10);  // Use ledc channel 1, set the frequency to 1kHz and the resolution to 10 bits.使用ledc通道1,设置频率为1kHz,分辨率为10位
    Serial.printf("F=%.0f\n",f);  // print the actual setting. 打印实际设置的频率
    ledcAttachPin(pin,1);  // Bind the  pin to ledc channel 1.将引脚绑定到ledc通道1
    ledcWrite(1, 511);  // Set the duty cycle of ledc channel to 512/1024=50%.设置ledc通道占空比为512/1024=50%
void loop() {
    delay(100);

ledcDetachPin

功能:

释放指定的端口并停止输出

函数原型:

void ledcDetachPin(uint8_t pin);

uint8_t 渠道(0~15) uint32_t

使用示例:

#include <M5Stack.h>
uint8_t pin = 25;  // Set output pin number. 设置输出引脚号
void setup() {
    M5.begin();
    M5.Power.begin();
    double f = ledcSetup(1, 1000, 10);  // Use ledc channel 1, set the frequency to 1kHz and the resolution to 10 bits.使用ledc通道1,设置频率为1kHz,分辨率为10位
    Serial.printf("F=%.0f\n",f);  // print the actual setting. 打印实际设置的频率
    ledcAttachPin(pin,1);  // Bind the pin to ledc channel 1.将引脚绑定到ledc通道1
    ledcWrite(1, 511);  // Set the duty cycle of ledc channel to 512/1024=50%.设置ledc通道占空比为512/1024=50%
    ledcDetachPin(pin);  // Stop the pin output.  停止引脚输出
void loop() {
    delay(100);

ledcRead

功能:

返回指定通道的占空比.

函数原型:

uint32_t ledcRead(uint8_t channel)

uint8_t

返回值:

占空比

使用示例:

#include <M5Stack.h>
uint8_t pin = 25;  // Set output pin number.设置输出引脚号
void setup() {
    M5.begin();
    M5.Power.begin();
    double f = ledcSetup(1, 1000, 10);  // Use ledc channel 1, set the frequency to 1kHz and the resolution to 10 bits.使用ledc通道1,设置频率为1kHz,分辨率为10位
    Serial.printf("F=%.0f\n",f);  // print the actual setting. 打印实际设置的频率
    ledcAttachPin(pin,1);  // Bind the  pin to ledc channel 1.将引脚绑定到ledc通道1
    ledcWrite(1, 511);  // Set the duty cycle of ledc channel to 512/1024=50%.设置ledc通道占空比为512/1024=50%
    M5.Lcd.printf("ledcRead:%d\n", ledcRead(1));  // print the actual duty cycle. 打印实际占空比
void loop() {
    delay(100);

ledcReadFreq

功能:

返回当前通道频率.

函数原型:

double ledcReadFreq(uint8_t channel)

channel uint8_t

返回值:

通道频率

使用示例:

#include <M5Stack.h>
uint8_t pin = 25;  // Set output pin number.设置输出引脚号
void setup() {
    M5.begin();
    M5.Power.begin();
    double f = ledcSetup(1, 1000, 10);  // Use ledc channel 1, set the frequency to 1kHz and the resolution to 10 bits.使用ledc通道1,设置频率为1kHz,分辨率为10位
    Serial.printf("F=%.0f\n",f);  // print the actual setting. 打印实际设置的频率
    ledcAttachPin(pin,1);  // Bind the  pin to ledc channel 1.将引脚绑定到ledc通道1
    ledcWrite(1, 511);  // Set the duty cycle of ledc channel to 512/1024=50%.设置ledc通道占空比为512/1024=50%
    M5.Lcd.printf("ledcRead:%d\n", ledcRead(1));  // print the actual duty cycle. 打印实际占空比
void loop() {
    delay(1000);
    M5.Lcd.printf("ledcReadFreq:%.3f\n",ledcReadFreq(1));  // print the actual duty cycle. 打印实际占空比

adcAttachPin

功能:

非阻塞模式,连接设定引脚到ADC

函数原型:

bool adcAttachPin(uint8_t pin)

channel uint8_t

使用示例:

#include <M5Stack.h>
uint8_t pin = 25;  // Set output pin number. 设置输出引脚号
void setup() {
    M5.begin();
    M5.Power.begin();
    if (adcAttachPin(pin)) {  // Attach the pin to ADC. 将引脚绑定到ADC
        M5.Lcd.printf("Pin %d attached to ADC", pin);
void loop() {}

adcStart

功能:

非阻塞模式,开启adc转换.

函数原型:

bool adcStart(uint8_t pin)

uint8_t

返回值:

若成功开启返回1,否则返回0

adcBusy

功能:

非阻塞模式,检查adc转换是否进行中.

函数原型:

bool adcBusy(uint8_t pin)

uint8_t

adcEnd

功能:

非阻塞模式,返回转换结果,如果未转换完成等待完成.

函数原型:

uint16_t adcEnd(uint8_t pin)

uint8_t

返回值:

返回转换结果

analogReadResolution

功能:

设置模拟数据读取分辨率,取值1~16,默认为12如果介于9和12之间,它将等于设置的硬件分辨率,否则值将被移动.

函数原型:

void analogReadResolution(uint8_t bits)

uint8_t

analogSetAttenuation

功能:

设置ADC全局输入衰减,取值ADC_0db, ADC_2_5db, ADC_6db, ADC_11db,默认为11db

函数原型:

void analogSetAttenuation(adc_attenuation_t attenuation)

uint8_t 采样分辨率

analogSetCycles

功能:

设置采样周期1-255,默认为8.

函数原型:

void analogSetCycles(uint8_t cycles)

attenuation adc_attenuation_t

analogSetPinAttenuation

功能:

设置某个单独引脚衰减

函数原型:

void analogSetPinAttenuation(uint8_t pin, adc_attenuation_t attenuation)

cycles uint8_t sampling period

analogSetSamples

功能:

设置单次采样的实际采样倍数,取值1-255,默认为1,实际效果为提高adc灵敏度,采样次数扩大N倍;

函数原型:

void analogSetSamples(uint8_t samples)

uint8_t specified pin attenuation adc_attenuation_t

analogSetWidth

功能:

设置adc采样分辨率9-12,默认为12.

函数原型:

void analogSetWidth(uint8_t bits)

samples uint8_t

attachInterrupt

功能:

设置引脚中断.

函数原型:

void attachInterrupt(pin, ISR(callback function), interrupt type/mode)

uint8_t 采样分辨率

detachInterrupt

功能:

禁用指定引脚中断

函数原型:

void detachInterrupt(pin)

uint8_t callcack function interrupt

hallRead

功能:

读取霍尔传感器

函数原型:

int hallRead(void));

On This Page
uint8_t