هذه مكتبة تطوير للمساعدة في استخدام لوحة مضيف USB - قارئ/كاتب محرك أقراص فلاش USB ، بواسطة HobbyTronics ، مع ESP32.
يحتوي المجلس بالفعل على شريحة من أوامر العملية التي أرسلتها UART ، ولكن لجعل الأمور أقل تعقيدًا ، كتبت بعض الوظائف ، لذلك لن يكون لدي ما يدعو للقلق بشأن بعض التفاصيل على الإطلاق.
توفر صفحة الويب HobbyTronics بعض المعلومات حول الأمر الذي قد يكون مفيدًا. كما أن لديها بعض الأمثلة ، ولكن لأردوينو.
في MAIN/USB2ESP_DEMO_MAIN.C لدينا بعض المهام
المهمة التي تومض A إلى إظهار ESP تعمل
المهمة التي تستدعي انقطاع البرنامج كل 10 مللي ثانية. IDEIA هي مقاطعة UART قدر الإمكان
المهمة التي تنتظر رسائل من USB.
المهمة التي ترسل أوامر لـ USB.
في TX_TASK ، كتبت بعض الأمثلة حول كيفية استخدام كل وظائف.
هناك 5 أمثلة:
Ex = 0 -> فقط عرض المساعدة ، في وضع المحطة. من المفيد اختبار معدل باود
ex = 1 -> إنشاء ملف واكتب
ex = 2 -> قراءة الملفات
EX = 3 -> نسخ الملفات وحذفها وإعادة تسميتها
EX = 4 -> عمليات الدلائل
EX = 5 -> اكتب سلسلة 128 كيلو بايت
ملاحظة: في Ex 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 Breakout على ساعة زمنية داخلية ، ولكن لا يحتوي على بطارية ، لذلك نحتاج إلى ضبطها في كل مرة نديرها. يجب أن يكون الوقت [HH: MM: SS].
int setDate(uart_port_t UART_NUM, char* date);
يحتوي USB Breakout على ساعة زمنية داخلية ، ولكن لا يحتوي على بطارية ، لذلك نحتاج إلى ضبطها في كل مرة نديرها. يجب أن يكون التاريخ [yyyy-mm-dd].
int createFile(uart_port_t UART_NUM, char* filename);
قم بإنشاء ملف في الدليل الفعلي مع اسم ملف الاسم.
int appendFile(uart_port_t UART_NUM, char* filename);
افتح الملف في الدليل الفعلي المسمى اسم FileName .
int writeOnFile(uart_port_t UART_NUM, char* s, int ssize);
منذ فتح الملف أو إنشاءه ، اكتب السلسلة S بحجم ssize في الملف.
int closeFile(uart_port_t UART_NUM);
إرسال أمر Control+z ، مع ملفات الإغلاق.
int dir(uart_port_t UART_NUM, char* filename);
إنه يشبه باش ls . إذا كان اسم الملف "" ، يتم سرد جميع الملفات. إذا كان اسم الملف هو "*.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);
اقرأ جزءًا من اسم الملف. يبدأ هذا الجزء في بداية البايت والنهاية عند Byte Start + Len .
int readNextSection(uart_port_t UART_NUM, char* filename, int len);
بعد استخدام الأمر readSection() ، يمكنك استخدام readNextSection() لقراءة القسم التالي من اسم ملف الملف. لـ exemple: 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);
نسخ ملف الملف إلى ملف القدر .
int delFile(uart_port_t UART_NUM, char* filename);
حذف اسم ملف الملف.
int renameFile(uart_port_t UART_NUM, char* oldname, char* newname);
إعادة تسمية ملف oldname إلى NewName .
int makeDir(uart_port_t UART_NUM, char* dirname);
أي ما يعادل Bash mk ، قم بإنشاء دليل جديد مع اسم DirName .
int changeDir(uart_port_t UART_NUM, char* dirname);
أي ما يعادل باش cd المضغوط ، التغيير إلى دليل الدليل.
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]