神农鼎 发表于 2023-6-12 06:47:22

U盘 实现,屠龙刀 / 开天斧,都有完整的范例; 延申阅读: 文件系统,SD卡

U盘实现,屠龙刀 / 开天斧,都有完整的范例;
https://www.stcaimcu.com/data/attachment/forum/202308/05/102236kdoaxmanccjco9os.png
延申阅读: 文件系统,SD卡

见第22个演示程序

/*************功能说明    **************
本例程基于STC32G核心转接板(屠龙刀)进行编写测试。
使用Keil C251编译器,Memory Model推荐设置XSmall模式,默认定义变量在edata,单时钟存取访问速度快。
edata建议保留1K给堆栈使用,空间不够时可将大数组、不常用变量加xdata关键字定义到xdata空间。
MSC(Mass Storage Class)协议范例
在"config.h"头文件里可将存储器设置为内部的EEPROM,或者外部的串行FLASH
屠龙刀没有外部串行FLASH,默认使用内部EEPROM
然后在ISP下载时,设置EEPROM大小为64K,即可实现一个64K容量的U盘
将代码下载到试验箱后,在PC端可识别为一个64K的U盘,格式化后就能存储文件
下载时, 设置IRC工作频率为 24MHz.
******************************************/

#include "stc.h"
#include "usb.h"
#include "scsi.h"
#include "memory.h"
void sys_init();

void main()

{
    sys_init();
    memory_init();
    usb_init();
    EA = 1;

    while (1)
    {
    }
}

void sys_init()
{
    WTST = 0;//设置程序指令延时参数,赋值为0可将CPU执行指令的速度设置为最快
    EAXFR = 1; //扩展寄存器(XFR)访问使能
    CKCON = 0; //提高访问XRAM速度

    P0M1 = 0x00;    P0M0 = 0x00;
    P1M1 = 0x00;    P1M0 = 0x00;
    P2M1 = 0x00;    P2M0 = 0x00;
    P3M1 = 0x00;    P3M0 = 0x00;
    P4M1 = 0x00;    P4M0 = 0x00;
    P5M1 = 0x00;    P5M0 = 0x00;
    P6M1 = 0x00;    P6M0 = 0x00;
    P7M1 = 0x00;    P7M0 = 0x00;

    P3M0 &= ~0x03;
    P3M1 |= 0x03;

    IRC48MCR = 0x80;
    while (!(IRC48MCR & 0x01));

    USBCLK = 0x00;
    USBCON = 0x90;
}

资料也可从下面下载

深圳国芯人工智能有限公司-核心功能实验板 (stcai.com)






神农鼎 发表于 2023-6-12 06:52:22

延申阅读:文件系统,SD卡


znFAT 专门针对STC MCU编写的FAT32文件系统 - FreeRTOS/实时操作系统/文件系统/嵌入式系统软件 - 国芯论坛-STC全球32位8051爱好者互助交流社区 - STC全球32位8051爱好者互助交流社区 (stcaimcu.com)

沈洁 发表于 2023-6-12 11:26:32

都是高价值应用啊

国学芯用 发表于 2023-6-14 11:47:16


WINUSB测试OK很棒

hadv 发表于 2024-1-13 13:25:20

下载看看!

xxkj2010 发表于 2024-1-13 15:11:14

请问STC32能否读取自身这个U盘中的文件吗?

神农鼎 发表于 2024-1-13 15:20:07

可以

xxkj2010 发表于 2024-1-16 17:55:05

神农鼎 发表于 2024-1-13 15:20
可以

有没有一个例程参考一下,是用文件系统方式,还是像读取25Q32那种方式一个扇区扇区地读?

神农鼎 发表于 2024-1-16 18:52:21

文件系统 | znFAT | STC32位8051运行代码@STC32G12K128



文件系统 | znFAT | STC32位8051运行 - FreeRTOS/实时操作系统/文件系统/嵌入式系统软件,TFT-GUI/uGFX - 国芯论坛-STC全球32位8051爱好者互助交流社区 - STC全球32位8051爱好者互助交流社区 (stcaimcu.com)

_NCY_ 发表于 2024-2-24 08:38:27

请教一下,我用STC8H做的模拟优盘功能正常,复制文件什么的都没问题,想按照znfat书里说的解析磁盘,结果十六进制打开后发现MBR部分的DPT表有问题 ?!

确实不影响功能,但是这是怎么回事啊?是优盘太小了吗?
页: [1]
查看完整版本: U盘 实现,屠龙刀 / 开天斧,都有完整的范例; 延申阅读: 文件系统,SD卡