实现MSC回调函数
在src/main.c中实现MSC回调函数,处理读写请求:
c
#include "tusb.h"
#define DISK_BLOCK_NUM 16
#define DISK_BLOCK_SIZE 512
uint8_t msc_disk[DISK_BLOCK_NUM][DISK_BLOCK_SIZE];
int32_t tud_msc_read10_cb(uint8_t lun, uint32_t lba, uint32_t offset, void* buffer, uint32_t bufsize) {
memcpy(buffer, msc_disk[lba] + offset, bufsize);
return bufsize;
}
int32_t tud_msc_write10_cb(uint8_t lun, uint32_t lba, uint32_t offset, const void* buffer, uint32_t bufsize) {
memcpy(msc_disk[lba] + offset, buffer, bufsize);
return bufsize;
}
void tud_msc_inquiry_cb(uint8_t lun, uint8_t vendor_id[8], uint8_t product_id[16], uint8_t product_rev[4]) {
const char vid[] = "TinyUSB";
const char pid[] = "MSC Demo";
const char rev[] = "1.0";
memcpy(vendor_id, vid, 8);
memcpy(product_id, pid, 16);
memcpy(product_rev, rev, 4);
}
|