📄 compact.c
字号:
//###########################################################// File: compact.c//// Lese-/Schreibroutinen f黵 CompactFlash im LBA Mode.// CHS Mode wird nicht unterst黷zt.////#########################################################################// Last change: 01.05.2003//#########################################################################// holger.klabunde@t-online.de// http://home.t-online.de/home/holger.klabunde/homepage.htm//#########################################################################// Compiler: AVR-GCC 3.2//##########################################################################include "compact.h"// unsigned char bmode = 0;//######################################################unsigned char CFReadSector(unsigned long lba)//######################################################{ register unsigned int i; register unsigned char by; unsigned char *p; if(lba>=maxsect) return 1; //sectornumber too big if(CFWaitReady()) return 2; CFWriteAdr(CF_SECCOUNT,1); //einen Sektor lesen/* by=(unsigned char) lba;CFWriteAdr(CF_LBA0, by); by=(unsigned char) (lba>>8);CFWriteAdr(CF_LBA1, by); by=(unsigned char) (lba>>16);CFWriteAdr(CF_LBA2, by); by=(unsigned char) (lba>>24); by&=0x0f; by|=0xe0;CFWriteAdr(CF_LBA3, by);*/CFWriteAdr(CF_LBA0, (unsigned char) lba); //D7..0CFWriteAdr(CF_LBA1, (unsigned char)(lba>>8)); //D15..8CFWriteAdr(CF_LBA2, (unsigned char)(lba>>16)); //D23..16CFWriteAdr(CF_LBA3,(((unsigned char)(lba>>24)) & 0x0F ) | 0xE0); //D27..24CFWriteAdr(CF_STACOM,CF_READ_SEC); if(CFWaitDrq()) return 3; p=secbuf; CF_DATA_DIR_IN(); CFSetAdr(CF_IO); CF_CS_OFF(); for(i=0; i<BYTE_PER_SEC; i++) { CF_RD_OFF(); NOP(); //Schon bei 8MHz mu
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -