arduino的MIDI library应用之接收MIDI信息(一)

本文详细介绍了如何使用Arduino的MIDI库来接收和处理MIDI信息,为电子音乐创作和交互提供基础。通过示例代码,读者可以了解MIDI库的基本应用框架,从而实现自己的MIDI设备控制。
摘要由CSDN通过智能技术生成

MIDI库的代码基本应用框架如下:

#include <MIDI.h>
 
MIDI_CREATE_INSTANCE(HardwareSerial, Serial,   HardwareMIDI); //配置MIDI接口使用Serial,名称为HardwareMIDI
//-----------------------------
 
 byte data[20];
void setup()
{
 
   Serial.begin(31250);//配置串口波特率(MIDI)
//以下为MIDI信息接收程序的配置
   HardwareMIDI.setHandleNoteOn(HandleHardwareNoteOn);   //音符开
   HardwareMIDI.setHandleNoteOff(HandleHardwareNoteOff); 
   HardwareMIDI.setHandleControlChange(HandleHardwareControlChange);  //控制信息
   HardwareMIDI.setHandleProgramChange(HandleHardwareProgramChange);  //程序改变
   HardwareMIDI.setHandlePitchBend(HandleHardwarePitchBend);  //弯音轮
   HardwareMIDI.setHandleAfterTouchChannel(HandleHardwareAfterTouchChannel);  //触后通道
   HardwareMIDI.setHandleAfterTouchPoly(HandleHardwareAfterTouchPoly);  //触后音符
   HardwareMIDI.setHandleSystemExclusive(HandleHardwareSystemExclusive);  //系统信息
 
 
   
   HardwareMIDI.turnThruOff(); //防止MIDI回路
   
}
 
 
//=====&
当使用Arduino Uno与ESP01S通信时,你可以通过软串口(SoftwareSerial)库来模拟额外的串口引脚。以下是一个示例代码,演示如何发送AT指令并接收串口信息: ```cpp #include <SoftwareSerial.h> SoftwareSerial espSerial(2, 3); // RX, TX void setup() { Serial.begin(9600); espSerial.begin(9600); delay(1000); Serial.println("Starting communication with ESP01S..."); } void loop() { if (espSerial.available()) { String response = espSerial.readString(); Serial.print("Received: "); Serial.println(response); } if (Serial.available()) { String command = Serial.readString(); espSerial.println(command); Serial.print("Sent: "); Serial.println(command); } } ``` 通过这个代码,你可以通过串口监视器与Arduino Uno进行交互。你可以在串口监视器中输入AT指令,然后Arduino Uno会将指令发送给ESP01S,并将ESP01S的响应信息打印到串口监视器中。 在此示例中,我们使用软串口将ESP01S连接到Arduino Uno的引脚2(RX)和引脚3(TX)。你可以根据实际情况调整引脚配置。 确保你已经正确设置了开发环境和选择了正确的开发板和端口。上传代码到Arduino Uno后,打开串口监视器,并设置波特率为9600。 现在,你可以在串口监视器中输入AT指令并观察ESP01S的响应。请注意,ESP01S的响应可能需要一些时间,因此你可能需要稍等片刻才能看到响应。 这只是一个简单的示例代码,你可以根据需要进行修改和扩展,以实现更复杂的功能和交互。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值