▼ESP32サンプルプログラム実行におけるコンパイルエラーについて
ネットに多数のサンプルプログラムが公開されていますが、いざコンパイルするとエラーが頻発します。これは、バージョンアップに伴うコード体系の変更に伴うもので発生するようです。
解決方法としては、参考にしたサンプルプログラムの「ボードバージョン/各ライブラリーバージョン」を知っておく必要があります。ただし、この点については掲載されていないことが多く、アップグレードするとかえってコンパイルエラーを引き起こすことになります。そのため、プログラム開発時には、ボードバージョンとライブラリーバージョンも一緒に記述しておくとよいと思われます。

▼ESP32で使用できる通信方式
- Wi-Fi 802.11 b/g/n/e/i
- Bluetooth v4.2 BR/EDRとBLE
- SPI
- VSPI
- HSPI
- SDIO
- I2C
- UART
ESP32におけるシリアル通信
ESP32では、以下の種類のシリアル通信が利用可能です。
- UART: ESP32にはUARTのポートが3つあります。それぞれ、UART0、UART1、UART2と呼ばれます。ただし、UART1はデフォルトでは使用できません。これは、UART1のTX/RXが内蔵フラッシュと共有されているためです1。そのため、UART1を使用するには別のピンに割り当てる必要があります1。
- I2C: I2CはInter-Integrated Circuitの略で、マイクロコントローラ間でデータを送受信するためのシリアル通信プロトコルです。
- SPI: Serial Peripheral Interface (SPI)は、マイクロコントローラと周辺デバイス間でデータを送受信するためのシリアル通信プロトコルです。
- Bluetooth: ESP32はBluetoothでシリアル通信を行うためのプロファイルもサポートしています。
これらの通信方式を選択する際には、プロジェクトの要件や目的により適したものを選択することが重要です。例えば、UARTはシンプルで直感的な通信方式であり、I2CやSPIはより高速なデータ転送を可能にします。一方、Bluetoothは無線通信を可能にするため、ケーブル接続の制約を受けずにデバイス間でデータを送受信することができます。各通信方式の特性を理解し、適切に選択することが重要です。