VSCode の PlatformIO で ESP32 の CAN を使う方法

組み込み
スポンサーリンク

PlatformIO で ESP32 の CAN を使う方法を紹介します.

スポンサーリンク

はじめに

理由はよくわかっていませんが,現時点において PlatformIO の環境では ESP32 の CAN がサポートされていません.フレームワークとして ESP-IDF を選択して CAN のサンプルを実行しようとしても「fatal error: driver/can.h: No such file or directory」となってしまいます.

対応

これは,CAN 関連のドライバーがインストールされていないのが原因です.ESP-IDF からファイルを取得すると動くようになります.

具体的には,PowerShell で次のコマンドを実行します.ユーザ名等は環境変数から取得するようにしていますので,Windows10 の PowerShell にそのままコピペすれば OK です.

注意点

現時点で,driver/can.h は,include 周りのバグがあるので,#include "driver/can.h" をソースの先頭に書くと「error: unknown type name ‘TickType_t’」というエラーが表示されてしまいます.

この場合,#include "freertos/FreeRTOS.h" の後に #include "driver/can.h" を書くようにすることで解消できます.

コメント