Refer to Arduino API of Arduino
M5STACK ピン配列です:
引脚号 | Name | allocation |
---|---|---|
0 | G0 | downloader |
1 | T1 | UART |
2 | G2 | Side terminal (except M5FIRE),M5-BUS |
3 | R1 | UART |
4 | G4 | TF |
5 | G5 | Side terminal (except M5FIRE),M5-BUS |
6 | G6 | SDIO |
7 | G7 | SDIO |
8 | G8 | SDIO |
9 | G9 | SDIO |
10 | G10 | SDIO |
11 | G11 | SDIO |
12 | G12 | IIS_SCLK |
13 | G13 | IIS_WS |
14 | G14 | LCD |
15 | G15 | IIS_OUT |
16 | R2 | UART |
17 | T2 | UART |
18 | G18 | TF,Top terminal(SCK),M5-BUS |
19 | G19 | TF,Top terminal(MISO),M5-BUS |
21 | G21 | GROVE-A(SDA) |
22 | G22 | GROVE-A(SCL) |
23 | G23 | TF,Top terminal(MOSI) |
25 | G25 | Speaker,Side terminal (except M5FIRE),M5-BUS |
26 | G26 | Side terminal (except M5FIRE),M5-BUS |
27 | G27 | LCD |
32 | G32 | LCD BackLight |
33 | G33 | LCD |
34 | G34 | None |
35 | G35 | Side terminal (except M5FIRE) |
36 | G36 | Side terminal (except M5FIRE) |
37 | G37 | Button C |
38 | G38 | Button B |
39 | G39 | Button A |
機能です:
ピン入出力モードを設定します
原型関数です:
void pinMode(uint8_t pin, uint8_t mode);
パラメータです | タイプです | 記述します |
---|---|---|
pin | uint8 | ピン号です |
mode | uint8 | INPUT,OUTPUT,INPUT_PULLUP 的任何一个 |
使用例です:
#include <M5Stack.h>
void setup() {
M5.begin();
M5.Power.begin();
pinMode(16, OUTPUT);
}
void loop() {
}
機能です:
指定のピンの状態を読み込みます
原型関数です:
int digitalRead(uint8_t pin);
戻り値です:
ピンの入力状態(0/1)
使用例です:
#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);
}
機能です:
指定のピンに値を書き込みます
原型関数です:
void digitalWrite(uint8_t pin, uint8_t val);
パラメータです | タイプです | 記述します |
---|---|---|
pin | uint8 | ピン号です |
val | uint8 | 出力状態(0/1)です |
使用例です:
#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);
}
機能です:
アナログピンの値を読み込みます
原型関数です:
uint16_t analogRead(uint8_t pin);
パラメータです | タイプです | 記述します |
---|---|---|
pin | uint8 | ピン番号 |
戻り値です:
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);
}
機能です:
指定のピンに DAC 出力を送信します
原型関数です:
void dacWrite(uint8_t pin, uint8_t value);
パラメータです | タイプです | 記述します |
---|---|---|
pin | uint8 | ピン番号 |
value | uint8 | 出力電圧を設定します |
使用例です:
#include <M5Stack.h>
void setup() {
M5.begin();
M5.Power.begin();
M5.Lcd.setTextSize(2);
pinMode(25, OUTPUT);
}
void loop() {
dacWrite(25,0x40);
delay(500);
}
機能です:
占空比出力を設定します
原型関数です:
double ledcSetup(uint8_t channel, double freq, uint8_t resolution_bits);
パラメータです | タイプです | 記述します |
---|---|---|
channel | uint8 | channel (0 ~ 15) |
freq | double | frequency (Hz) |
resolution_bits | uint8_t | 占空比指示のフルスケールビット数 |
戻り値です:
実際の出力周波数
機能です:
指定の ledc チャンネルにピンをバインドします
原型関数です:
void ledcAttachPin(uint8_t pin, uint8_t chan);
パラメータです | タイプです | 記述します |
---|---|---|
pin | uint8_t | ピン番号 |
chan | uint8_t | チャンネル (0 ~ 15) |
機能です:
指定の占空比値を出力します
原型関数です:
void ledcWrite(uint8_t chan, uint32_t duty);
パラメータです | タイプです | 記述します |
---|---|---|
chan | uint8_t | チャンネル (0 ~ 15) |
duty | 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%
}
void loop() {
delay(100);
}
機能です:
指定のポートを解放し、出力を停止します
原型関数です:
void ledcDetachPin(uint8_t pin);
パラメータです | タイプです | 記述します |
---|---|---|
pin | 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%
ledcDetachPin(pin); // Stop the pin output. 停止引脚输出
}
void loop() {
delay(100);
}
機能です:
指定された通路のデューティサイクルに戻ります。
原型関数です:
uint32_t ledcRead(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(100);
}
機能です:
現在のチャネル周波数に戻ります。
原型関数です:
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. 打印实际占空比
}
機能です:
非ブロッキングモード,接続設定ピンを ADC に設定します
原型関数です:
bool adcAttachPin(uint8_t pin)
パラメータです | タイプです | 記述します |
---|---|---|
pin | 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() {}
機能です:
非ブロッキングモードで、ADC 変換を開始。
原型関数です:
bool adcStart(uint8_t pin)
パラメータです | タイプです | 記述します |
---|---|---|
pin | uint8_t | 指定引脚 |
戻り値です:
成功開始したら 1 を返す、そうでない場合は 0 を返す。
機能です:
非ブロッキングモードで、ADC 変換が進行中かどうかを検査。
原型関数です:
bool adcBusy(uint8_t pin)
パラメータです | タイプです | 記述します |
---|---|---|
pin | uint8_t | 指定引脚 |
機能です:
非ブロッキングモードで、変換結果を返す。変換が完了していない場合は待ちます。
原型関数です:
uint16_t adcEnd(uint8_t pin)
パラメータです | タイプです | 記述します |
---|---|---|
pin | uint8_t | 指定引脚 |
戻り値です:
変換結果を返す。
機能です:
模拟データ読み込みの分解能を設定。116 の範囲で指定。既定値は 12。範囲が 912 の間の場合は、設定したハードウェア分解能が使われ、それ以外の場合は値が調整されます。
原型関数です:
void analogReadResolution(uint8_t bits)
パラメータです | タイプです | 記述します |
---|---|---|
bits | uint8_t | 采样分辨率 |
機能です:
ADC の全体的入力減衰を設定。ADC_0db, ADC_2_5db, ADC_6db, ADC_11db のいずれかを指定。既定値は 11db。
原型関数です:
void analogSetAttenuation(adc_attenuation_t attenuation)
パラメータです | タイプです | 記述します |
---|---|---|
attenuation | adc_attenuation_t | 衰减值 |
機能です:
サンプリング周期を 1~255 の範囲で設定。既定値は 8。
原型関数です:
void analogSetCycles(uint8_t cycles)
パラメータです | タイプです | 記述します |
---|---|---|
cycles | uint8_t | sampling period |
機能です:
個々のピンの減衰を設定。
原型関数です:
void analogSetPinAttenuation(uint8_t pin, adc_attenuation_t attenuation)
パラメータです | タイプです | 記述します |
---|---|---|
pin | uint8_t | specified pin |
attenuation | adc_attenuation_t | 衰减值 |
機能です:
単一のサンプリングの実際のサンプル倍率を 1~255 の範囲で設定。既定値は 1。adc の感度を高める効果をもたらし、サンプル数を N 倍に拡大。
原型関数です:
void analogSetSamples(uint8_t samples)
パラメータです | タイプです | 記述します |
---|---|---|
samples | uint8_t | 采样倍数 |
機能です:
adc のサンプリング分解能を 9~12 の範囲で設定。既定値は 12。
原型関数です:
void analogSetWidth(uint8_t bits)
パラメータです | タイプです | 記述します |
---|---|---|
bits | uint8_t | 采样分辨率 |
機能です:
ピン割り当ての割り込みを設定。
原型関数です:
void attachInterrupt(pin, ISR(callback function), interrupt type/mode)
パラメータです | タイプです | 記述します |
---|---|---|
pin | uint8_t | 引脚 |
ISR | callcack function | 回调函数 |
interrupt | mode | 触发タイプです |
機能です:
指定のピン割り当ての割り込みを無効化。
原型関数です:
void detachInterrupt(pin)
パラメータです | タイプです | 機能です |
---|---|---|
pin | uint8_t | 引脚号. |
機能です:
ホールセンサーを読み込み。
原型関数です:
int hallRead(void));