これは、USBホストボード(USBフラッシュドライブリーダー/ライター、Hobbytronics、ESP32の使用)を支援するライブラリ開発です。
ボードにはすでにUARTが送信するプロセスコマンドを処理するチップがありますが、物事を複雑にするために、いくつかの機能を書きましたので、詳細を心配する必要はありません。
Hobbytronics Webページは、有用なコマンドに関するいくつかの情報を提供します。また、いくつかの例がありますが、Arduinoの場合。
main/usb2esp_demo_main.cには、いくつかのタスクがあります
ESPが機能していることを示す導かれたタスク
10ミリ秒ごとにソフトウェア中断を呼び出すタスク。 Ideiaはできるだけuartを中断することです
USBからのメッセージを待つタスク。
USBのコマンドを送信するタスク。
TX_TASKでは、各機能の使用方法の例をいくつか書きました。
5つの例があります:
ex = 0->端子モードでヘルプを表示するだけです。ボーレートをテストするのに役立ちます
ex = 1->ファイルを作成して書き込みます
ex = 2->ファイルの読み取り
ex = 3->ファイルをコピー、削除、名前を変更します
ex = 4->ディレクトリオペレーション
ex = 5-> 128kb文字列を書き込みます
注: 5では、大きな文字列を書きます。これを行い、関数uart_write_bytes WDTに供給することを示しましたが、これについて心配する必要はありません。
すべての関数は、送信されるバイト数を返します。より便利な何かのために、将来変化する可能性があります。
int sendData(uart_port_t UART_NUM, const char* data)
uart_numによってデータを送信する関数。内部使用。
int setTime(uart_port_t UART_NUM, char* time);
USBブレイクアウトには内部タイムクロックがありますが、バッテリーがないため、オンにするたびにセットする必要があります。時間は[HH:MM:SS]形式である必要があります。
int setDate(uart_port_t UART_NUM, char* date);
USBブレイクアウトには内部タイムクロックがありますが、バッテリーがないため、オンにするたびにセットする必要があります。日付は[yyyy-mm-dd]形式である必要があります。
int createFile(uart_port_t UART_NUM, char* filename);
Filenameという名前の実際のディレクトリにファイルを作成します。
int appendFile(uart_port_t UART_NUM, char* filename);
Filenameという名前の実際のディレクトリでファイルを開きます。
int writeOnFile(uart_port_t UART_NUM, char* s, int ssize);
ファイルが開かれたり作成されているため、ファイルにサイズのサイズを記載した文字列sを書き込みます。
int closeFile(uart_port_t UART_NUM);
閉じたファイルを使用して、コントロール+Zコマンドを送信します。
int dir(uart_port_t UART_NUM, char* filename);
Bash lsに似ています。ファイル名が「」の場合、すべてのファイルがリストされています。 Filenameが「*.txt」の場合、TXTファイルのみがリストされています。
int fileSize(uart_port_t UART_NUM, char* filename, int mode);
ファイルサイズをカウントするコマンド。バイト数(モード=バイト)または行数(モード=行)をカウントできます。
int readFile(uart_port_t UART_NUM, char* filename);
ファイル全体をファイルを読んでください。
int readLine(uart_port_t UART_NUM, char* filename, int line);
ファイルファイルのラインのみを読み取ります。
int readNextLine(uart_port_t UART_NUM, char* filename);
command readLine()を使用した後、 readNextLine()を使用して、ファイルファイルの次の行を読み取ることができます。
int readSection(uart_port_t UART_NUM, char* filename, int start, int len);
ファイルファイル名の一部をお読みください。この部品は、バイトの開始とバイト開始+レンで終了します。
int readNextSection(uart_port_t UART_NUM, char* filename, int len);
Command readSection()を使用した後、 readNextSection()を使用して、ファイルFilenameの次のセクションを読み取ることができます。例:filename.txtは「abcdef」readsection(uart_num、 "filename.txt"、0、4)です。 // uartは "abcd" readnextsection(uart_num、 "filename.txt"、2)を受信します。 // uartは「ef」を受け取ります
int copyFile(uart_port_t UART_NUM, char* origin, char* destiny);
ファイルの原点をファイルのdestinyにコピーします。
int delFile(uart_port_t UART_NUM, char* filename);
ファイルファイル名を削除します。
int renameFile(uart_port_t UART_NUM, char* oldname, char* newname);
ファイルの古い名をnewNameに変更します。
int makeDir(uart_port_t UART_NUM, char* dirname);
Bash mkに相当する、名前dirNameを備えた新しいディレクトリを作成します。
int changeDir(uart_port_t UART_NUM, char* dirname);
Bash cdに相当する、ディレクトリDirNameに変更します。
int removeDir(uart_port_t UART_NUM, char* dirname);
ディレクトリdirNameを削除します。
int setBaud(uart_port_t UART_NUM, char* baudrate);
ボーレートをボーレートに変更します。許容値:[2400 | 4800 | 9600 | 14400 | 19200 | 38400 | 57600 | 115200]