返回首页



BASCOM-AVR利用AVR-DOS库读写SD卡

  根据http://members.aon.at/voegel/index.html网站上提供的资料,试验了用BASCOM读写SD卡,完全可以把SD卡当作磁盘来操作,与VB/QB语法兼容,编程非常简单。

  AVR-DOS介绍

  Features:

            ·  Read and write ASCII-Files

·  Read and write Binary-Files

·  Drivers available for Compact Flash Cards, Hard disk, MMC, SD etc.

·  Completly integrated in BASCOM-AVR Compiler

·  QB/VB compatible syntax

·  Completly written in AVR-Assembler (fast and compact)

 

   It works with:

            ·  DOS-FAT16 and FAT32 formatted partitions

·  Files in Root directory and sub directories

·  Short DOS File names (8.3)

·  Sector Size of 512 Bytes (nearly all CF-Cards and HD)

·  Linear sector addressing (LBA-Mode). (all newer CF-Cards and HD). C/H/S-Mode of old HD is not supported.

  

  Please note: AVR-DOS is only free for non commercial use. For commercial use, or when you are interested in ASM-Code and complete documentation please check License directives


  Functions:

  Here is a list of all in BASCOM-AVR integrated statements, which uses AVR-DOS functionality.

  Disk/Directory:
           
·  InitFileSystem (<Partition#>)

·  DiskSize

·  DiskFree

·  Kill <FileName>

·  Dir ([ <FileName> ])

·  FileLen ([ <FileName> ])

·  FileDateTime ([ <FileName> ])

·  FileDate ([ <FileName> ])

·  FileTime ([ <FileName> ])

·  GetAttr ([ <FileName> ])  

·  Name <OldFileName> As <NewFileName>  

·  ChDir <PathName>])  

·  MkDir <PathName>])  

·  RmDir <PathName>])  

 

  File create, open, read, write, close:

            ·  FreeFile

·  Open <FileName> For Input/Output/Append/Binary as #<File#>

·  Close <File#>

·  Flush [<File#>]

·  Print #<File#>, Variable1; Variable2; …

·  Write #<File#>, Variable1, Variable2, …

·  Input #<File#>, Variable1, Variable2, …

·  Line Input #<File#>, StringVariable

·  Get #<File#>, <Variable> [,<Position>]

·  Put #<File#>, <Variable> [,<Position>]

·  Seek #<File#> [,<New Position>]

 

  Infos about opened files:
           
·  EOF (#<File#>)

·  LOC (#<File#>)

·  LOF (#<File#>)

·  FileAttr (#<File#>)

 
  Others:
           
·  Bload <FileName>, <SRAM-Address>

·  Bsave <FileName>, <SRAM-Address>, <Length>

 
 

  SD卡与AVR数据信号电平转换示意图:

   

 
  我做的转换电路板:Vcc使用2个二极管降压。

  


  示例程序下载

 

 goto1480@163.com