`
lobin
  • 浏览: 437048 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

关于os的一些整理:第十九篇:软盘

 
阅读更多

软盘

软盘有160k, 180k, 320k, 360k, 720k, 1.2M, 1.44M, 1.68M, 1.72M以及 2.88M.我们比较常用的是1.44M的软盘。

 

软盘的扇区

扇区编号顺序连贯的,对应磁盘上的物理位置也是连贯的。


1.44M

 

1.44M软盘有2个盘面(0和1),每个盘面有80条磁道(或称磁柱),一个磁道有18个扇区,一个扇区大小为512个字节。

1.44M软盘总容量计算: 2 * 80 * 18 * 512 bytes = 1474560 bytes = 1.44M

 

FDC

FDC即Floppy Disk Controller,软盘控制器。

 

Model 30

Model 30即PS/2 Model 30。

 

PS/2

 

PC/AT

这是一种软盘控制器,即PC/AT Floppy Disk Controller。

 

还有Standard IBM PC/AT Floppy Disk Controller,标准IBM PC/AT软盘控制器,以及82077AA PC/AT Floppy Disk Controller,即82077AA PC/AT软盘控制器。

 

PC/XT

 

 

 

82072

 

 

8272A

 

 

寄存器

状态寄存器A

Status Register A

 

状态寄存器B

Status Register B

 

数字输出寄存器

Digital Output Register或者DOR。该寄存器是个8-位只写寄存器。

写道
// +-+-+-+-+-+-+-+-+
// |M|M|M|M|D|R|D|D|
// |O|O|O|O|M|E|R|R|
// |T|T|T|T|A|S|1|0|
// |D|C|B|A| |T| | |
// +-+-+-+-+-+-+-+-+
// ^ ^ ^ ^ ^ ^|<->|
// | | | | | | |
// | | | | | | |DSEL1 and 0: Drive select
// | | | | | |Controller reset
// | | | | |DMA and IRQ channel
// | | | |Motor control for floppy drive A
// | | |Motor control for floppy drive B
// | |Motor control for floppy drive C
// |Motor control for floppy drive D

 

写道
// +-+-+-+-+-+-+-+-+
// | | | | | | | | |
// +-+-+-+-+-+-+-+-+
// ^ ^ ^ ^ ^ ^ ^ ^
// | | | | | | | |DRIVE SEL 0
// | | | | | | |DRIVE SEL 1
// | | | | | |RESET
// | | | | |DMA GATE
// | | | |MOT EN0
// | | |MOT EN1
// | |MOT EN2
// |MOT EN3

DMA GATE

DMA GATE位只有在PC-AT和Model 30模式下才会开启。如果DMA GATE位设置为低电位,INT和DRQ输出将被跟踪,并且DACK和TC输入将被禁用。DMA GATE位设置为高电位将开启到系统的INT,DRQ,以及DACK。在PS/2模式下,DMAGATE对INT、DRQ、TC或DACK引脚没有影响,它们总是处于活动状态。

 

 

磁带驱动器寄存器

Tape Drive Register

 

主状态寄存器

Main Status Register或者MSR

 

 

写道

 

// +-+-+-+-+-+-+-+-+
// |M|D|N|B|A|A|A|A|
// |R|I|D|U|C|C|C|C|
// |Q|O|M|S|T|T|T|T|
// | | |A|Y|D|C|B|A|
// +-+-+-+-+-+-+-+-+
// ^ ^ ^ ^|<----->|
// | | | | |Drive D, C, B, A in positioning mode
// | | | |Instruction (device busy)
// | | |non-DMA mode
// | |Data input/output
// |Main Request

 

 

数据比率选择寄存器

DataRate Select Register,其低2位(bit0-1)指定数据传输率,表示从驱动器读取数据或者向驱动器写入数据的传输速率。对于1.44MB或者1.2MB的软盘,应该将这两位设置为0。

 

数据比率

驱动器类型  数据率   设置值

2.88M       1Mbps        3

1.44M       500Kbps      0

 

1.2M        500Kbps      0

 

数据FIFO寄存器

Data FIFO Register或者FIFO寄存器,有些资料也叫Data Register,数据寄存器,或者DR

 

数字输入寄存器

Digital Input Register或者DIR

 

配置控制寄存器

Configuration Control Register或者CCR

 

另外还有几个状态寄存器

Status Register 0

写道
+--+-+-+-+-+--+
|IC|S|E|/|H|DD|
| |E|C| | |SS|
| | | | | |10|
+--+-+-+-+-+--+
| | | | | |Drive Select
| | | | |Head Address
| | | |Unused. This bit is always ``0''.
| | |Equipment Check
| |Seek End
|Interrupt Code

 

 

Status Register 1

写道
+-+-+-+-+-+-+-+-+
|E|/|D|O|/|N|N|M|
|N| |E|R| |D|W|A|
+-+-+-+-+-+-+-+-+
| | | | | | | |Missing Address Mark
| | | | | | |Not Writable
| | | | | |No Data
| | | | |Unused. This bit is always ``0''.
| | | |Overrun/Underrun
| | |Data Error
| |Unused. This bit is always ``0''.
|End of Cylinder

 

 

Status Register 2

写道
+-+-+-+-+-+-+-+-+
|/|C|D|W|/|/|B|M|
| |M|D|C| | |C|D|
+-+-+-+-+-+-+-+-+
| | | | | | | |Missing Data Address Mark
| | | | | | |Bad Cylinder
| | | | | |Unused. This bit is always ``0''.
| | | | |Unused. This bit is always ``0''.
| | | |Wrong Cylinder
| | |Data Error in Data Field.
| |Control Mark
|Unused. This bit is always ``0''.

 

 

Status Register 3

写道
+-+-+-+-+-+-+--+
|/|W|/|T|/|H|DD|
| |P| |0| |D|SS|
| | | | | | |10|
+-+-+-+-+-+-+--+
| | | | | | |
| | | | | | |Drive Select
| | | | | |Head Address
| | | | |Unused. This bit is always ``1''.
| | | |Indicates the status of the TRK0 pin.
| | |Unused. This bit is always ``1''.
| |Write Protected
|Unused. This bit is always ``0''.

  

 

NEC765A/B

 

 

82077AA

82077AA兼容Personal System/2s、PC/AT以及PC/XT软盘控制器子系统。Personal System/2s就是PS/2?

 

因此82077AA兼容PS/2, PC/AT以及PS/2 Model 30操作模式。

 

PS/2模式

 

PC/AT模式

 

PS/2 Model 30模式

 

 

命令

使用命令字节来表示要发送的命令。因此命令使一个8-位的值,命令值小于32,发送(写入)到数据FIFO寄存器。如果有需要发送参数的话,每个命令后面跟着指定的参数字节。如果有返回数据的话,后面同时会有返回字节需要读取。

 

82077AA处理命令分为3个阶段:Command阶段, Execution阶段以及Result阶段。

 

所有的命令都有Command阶段,如果命令执行有返回信息的话,那么这个命令就有Result阶段。另外就是Execution阶段,有些命令有Execution阶段,有些命令没有Execution阶段,需要看具体命令说明。

 

 

命令字节

Command Byte

 

参数字节

parameter bytes

 

返回字节

result bytes

 

可选位

Option bits

 

命令说明

 

READ TRACK

读磁道

 

 

SPECIFY

设置驱动器参数

 

SRT

SRT即Step Rate Time,步率时间,表示磁头在连续相邻的磁道之间移动时,控制器需要等待的时间。对于现代3.5英寸软盘驱动器,一个合理的时间是3毫秒。6到8毫秒是个安全值。

 

对应SRT值计算公式

SRT值 = 16 - (milliseconds * data_rate / 500000)

 

对于1.44 MB软盘,SRT值可以这样计算:SRT值 = 16 - (8 * 500000 / 500000) = 8。

 

HLT

HLT即Head Load Time,磁头搭载时间,表示在激活头部和实际执行读/写之间,控制器应该等待的时间。

合理的时间是10毫秒,30毫秒是个安全值。

 

对应HLT值计算公式

HLT值 = milliseconds * data_rate / 1000000

 

对于1.44 MB软盘,HLT值可以这样计算:HLT值 = 10 * 500000 / 1000000 = 5。

 

HUT

HUT即Head Unload Time,磁头卸载时间,表示在解除(deactivate)磁头,使磁头无效之前,控制器应该等待的时间。

 

对应HUT值计算公式

HUT值 = milliseconds * data_rate / 8000000

 

对于1.44 MB软盘,这个HUT时间为240毫秒,即milliseconds=240,那么HUT值可以这样计算:HUT值 = 240 * 500000 / 8000000 = 15。

 

HUT值最好设置为0,表示在任何模式下都是最大值。

 

设置驱动器参数说明

1、写入命令0x3

2、写入第1个参数字节:SRT值 << 4 | HUT值

3、写入第2个参数字节:HLT值 << 1 | NDMA

 

写道
// SPECIFY
// Command byte:
// +----+----+
// |0000|0011|
// +----+----+
// The 1st parameter byte:
// +----+----+
// |SRT |HUT |
// +----+----+
// The 2nd parameter byte:
// +----+---+-+
// |HLT |N|
// | |D|
// +----+---|-+
// ^
// |When this bit is "1", the NONDMA mode is selected, and when ND is "0", the DMA mode is selected.

 

 

SENSE DRIVE STATUS

检测驱动器状态

 

 

WRITE DATA

写数据

 

READ DATA

读数据

写道
// READ DATA
// Command byte:
// +----+----+
// |MMS0|0110|
// |TFK | |
// | M | |
// +----+----+
// Parameter byte:
// The 1st parameter byte:
// +----+----+
// |0000|0HDD|
// | | DSS|
// | | S10|
// +----+----+
// The 2nd parameter byte:
// +----+----+
// | | |
// +----+----+
// |<------->|
// ^
// |C
// The 3rd parameter byte:
// +----+----+
// | | |
// +----+----+
// |<------->|
// ^
// |H
// The 4th parameter byte:
// +----+----+
// | | |
// +----+----+
// |<------->|
// ^
// |R
// The 5th parameter byte:
// +----+----+
// | | |
// +----+----+
// |<------->|
// ^
// |N
// The 6th parameter byte:
// +----+----+
// | | |
// +----+----+
// |<------->|
// ^
// |EOT
// The 7th parameter byte:
// +----+----+
// | | |
// +----+----+
// |<------->|
// ^
// |GPL
// The 8th parameter byte:
// +----+----+
// | | |
// +----+----+
// |<------->|
// ^
// |DTL
// Result byte:
// The 1st result byte:
// +----+----+
// | | |
// +----+----+
// |<------->|
// ^
// |ST0
// The 2nd result byte:
// +----+----+
// | | |
// +----+----+
// |<------->|
// ^
// |ST1
// The 3rd result byte:
// +----+----+
// | | |
// +----+----+
// |<------->|
// ^
// |ST2
// The 4th result byte:
// +----+----+
// | | |
// +----+----+
// |<------->|
// ^
// |C
// The 5th result byte:
// +----+----+
// | | |
// +----+----+
// |<------->|
// ^
// |H
// The 6th result byte:
// +----+----+
// | | |
// +----+----+
// |<------->|
// ^
// |R
// The 7th result byte:
// +----+----+
// | | |
// +----+----+
// |<------->|
// ^
// |N

 

 

 

RECALIBRATE

重新矫正

 

SENSE INTERRUPT STATUS

检测中断

 

WRITE DELETED DATA

写入删除数据

 

READ ID

读ID

 

READ DELETED DATA

读取删除数据

 

FORMAT TRACK

格式化磁道

 

DUMPREG

备份寄存器

 

SEEK

查找

 

RELATIVE SEEK

 

 

VERSION

获取版本

 

SCAN EQUAL

扫描(等于)

 

PERPENDICULAR MODE

P模式(Pmode)

 

CONFIGURE

配置

写道
// CONFIGURE
// Command byte:
// +----+----+
// |0001|0011|
// +----+----+
// The 1st parameter byte:
// +----+----+
// |0000|0000|
// +----+----+
// The 2nd parameter byte:
// +-+-+-+-+----+
// |0| | | | |
// +-+-+-+-+----+
// ^ ^ ^|<-->|
// | | | ^
// | | | |FIFOTHR.
// | | |POLL
// | |EFIFO
// |EIS
// The 3rd parameter byte:
// +--------+
// |PRETRK |
// +--------+

 

 

LOCK

锁定

 

VERIFY

验证

 

SCAN LOW OR EQUAL

扫描(小于等于)

 

SCAN HIGH OR EQUAL

扫描(大于等于)

 

以上命令有执行阶段的有:READ DATA,READ DELETED DATA,WRITE DATA,WRITE DELETED DATA,READ TRACK,VERIFY,FORMAT TRACK,SCAN EQUAL,SCAN LOW OR EQUAL,SCAN HIGH OR EQUAL,RECALIBRATE,SEEK,DUMPREG,READ ID。所有涉及到读写的命令都有执行阶段。

 

Command阶段

 

 

Execution阶段

执行阶段

 

Result阶段

 

返回阶段

 

所有的数据传输,向82077AA发送数据或从82077AA接收数据,都在Execution阶段。这里有两种模式:DMA或者non-DMA模式。这可以在SPECIFY(设置驱动器参数)命令中指定。

 

数据传输模式

通过SPECIFY(设置驱动器参数)命令指定数据传输模式,即DMA模式还是non-DMA模式。non-DMA模式即PIO模式。

 

DMA

 

PIO

 

中断

通过以下函数检查中断是否屏蔽:

// 0X40 -> 0100 0000
#define O_IRQ6 0X40

pic_irq_is_enable(O_IRQ6)

 

 

DMA

参考8237/8237A以及DMA控制器。

 

DRQ

DRQ即DMA request,DRQ请求。

 

DMA channel

DMA channel即DMA通道

 

设置DMA通道2

 

 

 

初始化FDC

初始化FDC启动motor的时候需要延迟等待一段时间,等motor速度上来。

 

要延迟等待多久?

如果是3.5"软盘,建议延迟等待300毫秒;如果是5.25"软盘,建议延迟等待500毫秒。

 

如果使用DMA进行数据传输,在初始化FDC之前,需要设置DMA,设置DMA Channel 2,即DMA 通道#2。

 

通过以下函数设置DMA 通道#2:

setup_dma2(FLOPPY_DMA_TRANSFER_ADDRESS, FLOPPY_DMA_TRANSFER_LENGTH - 1);

 

 

相关结构和定义

#define DOR_REST 0x04
#define DOR_DMA  0x08
#define DOR_MOTA 0x10
#define DOR_MOTB 0x20
#define DOR_MOTC 0x40
#define DOR_MOTD 0x80

 

#define DOR_MOTX(A,B,C,D) (DOR_MOTA | DOR_MOTB | DOR_MOTC | DOR_MOTD)
#define DOR_MOTY(BA,BB,BC,BD) ((BA ? DOR_MOTA : 0) | (BB ? DOR_MOTB : 0) | (BC ? DOR_MOTC : 0) | (BD ? DOR_MOTD : 0))
#define DOR_MOTZ(drive) (1 << (drive + 4))

 

enum floppy_command_t {
	COMMAND_READ_TRACK = 2, 
	COMMAND_SPECIFY    = 3, 
	COMMAND_SENSE_DRIVE_STATUS = 4, 
	COMMAND_WRITE_DATA = 5, 
	COMMAND_READ_DATA  = 6, 
	COMMAND_RECALIBRATE        = 7, 
	COMMAND_SENSE_INTERRUPT    = 8, 
	COMMAND_WRITE_DELETED_DATA = 9, 
	COMMAND_READ_ID    = 10, 
	COMMAND_READ_DELETED_DATA  = 12, 
	COMMAND_FORMAT_TRACK       = 13, 
	COMMAND_DUMPREG    = 14, 
	COMMAND_SEEK       = 15, 
	COMMAND_VERSION    = 16, 
	COMMAND_SCAN_EQUAL = 17, 
	COMMAND_PERPENDICULAR_MODE = 18, 
	COMMAND_CONFIGURE  = 19, 
	COMMAND_LOCK       = 20, 
	COMMAND_VERIFY     = 22, 
	COMMAND_SCAN_LOW_OR_EQUAL  = 25, 
	COMMAND_SCAN_HIGH_OR_EQUAL = 29
};

 

void floppy_init(u1 drive);

void floppy_ready();
void floppy_wait();

void floppy_set_datarate(u1 rate);

void floppy_send_command(u1 command, u1 option, byte* parameter_bytes, byte* result_bytes);

 

数据传输模式

// the mode of data transfer. return zero if in DMA mode 
int floppy_get_mode()
{
  u1 msr = floppy_read_msr();
  return msr & MSR_NDMA; // MSR_NDMA = 0x20, if bit5 of MSR set, in non-DMA mode, else in DMA mode.
}

 

 

分享到:
评论

相关推荐

    网管教程 从入门到精通软件篇.txt

    网管教程 从入门到精通软件篇 ★一。★详细的xp修复控制台命令和用法!!! 放入xp(2000)的光盘,安装时候选R,修复! Windows XP(包括 Windows 2000)的控制台命令是在系统出现一些意外情况下的一种非常有效的...

    计算机基础(20211010233525).pdf

    7. Windows磁盘扫描程序:磁盘扫描程序能够检测和修复磁盘错误,包括硬盘、软盘和可读/写光盘。 8. 录音机程序的文件扩展名:在Windows中,录音机程序创建的文件通常以.wav为扩展名。 9. 实用程序:实用程序是辅助...

    江苏省专转本计算机知识点.pdf

    1. ENIAC是世界上第一台电子计算机,它于1946年诞生,主要用于数值计算,加减运算速度达到每秒5000次。 2. 信息技术作为现代科技的核心,已经成为推动全球经济社会发展的新动力。 3. 1997年5月11日,IBM的超级...

    避开10大常见坑:DeepSeekAPI集成中的错误处理与调试指南.pdf

    在日常的工作和学习中,你是否常常为处理复杂的数据、生成高质量的文本或者进行精准的图像识别而烦恼?DeepSeek 或许就是你一直在寻找的解决方案!它以其高效、智能的特点,在各个行业都展现出了巨大的应用价值。然而,想要充分发挥 DeepSeek 的优势,掌握从入门到精通的知识和技能至关重要。本文将从实际应用的角度出发,为你详细介绍 DeepSeek 的基本原理、操作方法以及高级技巧。通过系统的学习,你将能够轻松地运用 DeepSeek 解决实际问题,提升工作效率和质量,让自己在职场和学术领域脱颖而出。现在,就让我们一起开启这场实用又高效的学习之旅吧!

    前端分析-2023071100789

    前端分析-2023071100789

    基于kinect的3D人体建模C++完整代码.cpp

    基于kinect的3D人体建模C++完整代码.cpp

    搞机工具箱10.1.0.7z

    搞机工具箱10.1.0.7z

    GRU+informer时间序列预测(Python完整源码和数据)

    GRU+informer时间序列预测(Python完整源码和数据),python代码,pytorch架构,适合各种时间序列直接预测。 适合小白,注释清楚,都能看懂。功能如下: 代码基于数据集划分为训练集测试集。 1.多变量输入,单变量输出/可改多输出 2.多时间步预测,单时间步预测 3.评价指标:R方 RMSE MAE MAPE,对比图 4.数据从excel/csv文件中读取,直接替换即可。 5.结果保存到文本中,可以后续处理。 代码带数据,注释清晰,直接一键运行即可,适合新手小白。

    性价比革命:DeepSeekAPI成本仅为GPT-4的3%的技术揭秘.pdf

    在日常的工作和学习中,你是否常常为处理复杂的数据、生成高质量的文本或者进行精准的图像识别而烦恼?DeepSeek 或许就是你一直在寻找的解决方案!它以其高效、智能的特点,在各个行业都展现出了巨大的应用价值。然而,想要充分发挥 DeepSeek 的优势,掌握从入门到精通的知识和技能至关重要。本文将从实际应用的角度出发,为你详细介绍 DeepSeek 的基本原理、操作方法以及高级技巧。通过系统的学习,你将能够轻松地运用 DeepSeek 解决实际问题,提升工作效率和质量,让自己在职场和学术领域脱颖而出。现在,就让我们一起开启这场实用又高效的学习之旅吧!

    基于ANSYS LSDyna的DEM-SPH-FEM耦合模拟滑坡入水动态行为研究,基于ANSYS LSDyna的DEM-SPH-FEM耦合的滑坡入水模拟分析研究,基于ansys lsdyna的滑坡入水

    基于ANSYS LSDyna的DEM-SPH-FEM耦合模拟滑坡入水动态行为研究,基于ANSYS LSDyna的DEM-SPH-FEM耦合的滑坡入水模拟分析研究,基于ansys lsdyna的滑坡入水模拟dem-sph-fem耦合 ,基于ANSYS LSDyna; 滑坡入水模拟; DEM-SPH-FEM 耦合,基于DEM-SPH-FEM耦合的ANSYS LSDyna滑坡入水模拟

    auto_gptq-0.6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

    auto_gptq-0.6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

    复件 复件 建设工程可行性研究合同[示范文本].doc

    复件 复件 建设工程可行性研究合同[示范文本].doc

    13考试真题最近的t64.txt

    13考试真题最近的t64.txt

    Microsoft Visual C++ 2005 SP1 Redistributable PackageX86

    好用我已经解决报错问题

    嵌入式开发入门:用C语言点亮LED灯的全栈开发指南.pdf

    # 踏入C语言的奇妙编程世界 在编程的广阔宇宙中,C语言宛如一颗璀璨恒星,以其独特魅力与强大功能,始终占据着不可替代的地位。无论你是编程小白,还是有一定基础想进一步提升的开发者,C语言都值得深入探索。 C语言的高效性与可移植性令人瞩目。它能直接操控硬件,执行速度快,是系统软件、嵌入式开发的首选。同时,代码可在不同操作系统和硬件平台间轻松移植,极大节省开发成本。 学习C语言,能让你深入理解计算机底层原理,培养逻辑思维和问题解决能力。掌握C语言后,再学习其他编程语言也会事半功倍。 现在,让我们一起开启C语言学习之旅。这里有丰富教程、实用案例、详细代码解析,助你逐步掌握C语言核心知识和编程技巧。别再犹豫,加入我们,在C语言的海洋中尽情遨游,挖掘无限可能,为未来的编程之路打下坚实基础!

    auto_gptq-0.4.2-cp38-cp38-win_amd64.whl

    auto_gptq-0.4.2-cp38-cp38-win_amd64.whl

    自动立体库设计方案.pptx

    自动立体库设计方案.pptx

    手把手教你用C语言实现贪吃蛇游戏:从算法设计到图形渲染.pdf

    # 踏入C语言的奇妙编程世界 在编程的广阔宇宙中,C语言宛如一颗璀璨恒星,以其独特魅力与强大功能,始终占据着不可替代的地位。无论你是编程小白,还是有一定基础想进一步提升的开发者,C语言都值得深入探索。 C语言的高效性与可移植性令人瞩目。它能直接操控硬件,执行速度快,是系统软件、嵌入式开发的首选。同时,代码可在不同操作系统和硬件平台间轻松移植,极大节省开发成本。 学习C语言,能让你深入理解计算机底层原理,培养逻辑思维和问题解决能力。掌握C语言后,再学习其他编程语言也会事半功倍。 现在,让我们一起开启C语言学习之旅。这里有丰富教程、实用案例、详细代码解析,助你逐步掌握C语言核心知识和编程技巧。别再犹豫,加入我们,在C语言的海洋中尽情遨游,挖掘无限可能,为未来的编程之路打下坚实基础!

    性能对决:DeepSeek-V3与ChatGPTAPI在数学推理场景的基准测试.pdf

    在日常的工作和学习中,你是否常常为处理复杂的数据、生成高质量的文本或者进行精准的图像识别而烦恼?DeepSeek 或许就是你一直在寻找的解决方案!它以其高效、智能的特点,在各个行业都展现出了巨大的应用价值。然而,想要充分发挥 DeepSeek 的优势,掌握从入门到精通的知识和技能至关重要。本文将从实际应用的角度出发,为你详细介绍 DeepSeek 的基本原理、操作方法以及高级技巧。通过系统的学习,你将能够轻松地运用 DeepSeek 解决实际问题,提升工作效率和质量,让自己在职场和学术领域脱颖而出。现在,就让我们一起开启这场实用又高效的学习之旅吧!

    从零到一:手把手教你用Python调用DeepSeekAPI的完整指南.pdf

    在日常的工作和学习中,你是否常常为处理复杂的数据、生成高质量的文本或者进行精准的图像识别而烦恼?DeepSeek 或许就是你一直在寻找的解决方案!它以其高效、智能的特点,在各个行业都展现出了巨大的应用价值。然而,想要充分发挥 DeepSeek 的优势,掌握从入门到精通的知识和技能至关重要。本文将从实际应用的角度出发,为你详细介绍 DeepSeek 的基本原理、操作方法以及高级技巧。通过系统的学习,你将能够轻松地运用 DeepSeek 解决实际问题,提升工作效率和质量,让自己在职场和学术领域脱颖而出。现在,就让我们一起开启这场实用又高效的学习之旅吧!

Global site tag (gtag.js) - Google Analytics