找回密码
 立即注册
查看: 49|回复: 0

74-MSC(Mass Storage Class)协议范例,STC32G144K246实验箱演示程序

[复制链接]
  • 打卡等级:常住居民I
  • 打卡总天数:78
  • 最近打卡:2026-07-21 13:27:09
已绑定手机

231

主题

168

回帖

1069

积分

版主

积分
1069
发表于 2026-7-3 16:56:36 | 显示全部楼层 |阅读模式
74-MSC(Mass Storage Class)协议范例,STC32G144K246实验箱演示程序
主程序main.C代码如下(汇编版本在附件中):


/*---------------------------------------------------------------------*/
/* --- Web: www.STCAI.com ---------------------------------------------*/
/* --- BBS: www.STCAIMCU.com  -----------------------------------------*/
/*---------------------------------------------------------------------*/

/*************  功能说明    **************

本例程基于STC32G144K246为主控芯片的实验箱进行编写测试。

使用Keil C251编译器,Memory Model推荐设置XSmall模式,默认定义变量在edata,单时钟存取访问速度快。

edata建议保留1K给堆栈使用,空间不够时可将大数组、不常用变量加xdata关键字定义到xdata空间。

MSC(Mass Storage Class)协议范例

将代码下载到试验箱后,在PC端可识别为一个16M的U盘
U盘存储器为试验箱上的外挂16M的串行FLASH
在没有外挂FLASH的试验箱上,也可以使用STC32G144K246内部的EEPOM当存储器
只需要在config.h文件中将存储器类型改为MEMTYPE_INT
然后在ISP下载时,设置EEPROM大小为64K,即可实现一个64K容量的U盘

下载时, 选择IRC频率 48MHz.

******************************************/

#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()
{
    EAXFR = 1; //扩展寄存器(XFR)访问使能
    CKCON = 0; //提高访问XRAM速度
}


74-MSC(Mass Storage Class)协议范例.zip (36.5 KB, 下载次数: 4)
回复

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2026-7-22 08:59 , Processed in 0.065514 second(s), 45 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表