اطلاعیه

Collapse
No announcement yet.

آموزش کار با کارت SD(بیسیک){درخواستی}

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    آموزش کار با کارت SD(بیسیک){درخواستی}

    باسلام
    به در خواست چند تا از دوستان این تایپ رو زدم تا کار با SDرو
    به صورت کامل اموزش بدم
    این تایپ با کدویژن هست ولی فکر نمی کنم با بیسیک باشه (تا جایی که می دونم؟)

    بدون مقدمه میرم سر اصل مطلب
    امروزه کارت های حافظه یsd/mmcکاربر و محبوبیت ویژه ای دارند از خصوصیات بارز انها که باعث کاربرد وسیع ان شده میتوان به سرعت بالا ظرفیت بالا و عمر زیاد انها و همچنین پایداری اطلاعات ذخیره شده در انها اشاره کرد
    ما در ایجا چگونگی استفاده از کتاب خانه DOS-AVRموجود در کامپآیلر avr-bascomرا با هم می اموزیم.
    فکر کنم که یک مثال عملی شروع مناسبی باشد پس حرف های اضافه رو تمام می کنم و به توضیع توابع موجود در کتابخانه می پردازم.

    کد:
    $regfile = "m32def.dat" : $crystal = 1000000
    $baud = 4800
    $swstack = 32
    $hwstack = 64
    $framesize = 64
    
    '*****************************************dim************************************************
    Dim Eror As Byte , Temp1 As Byte
    Dim S As String * 60 , Fl As String * 12 , Ff As Byte
    '*********************************************************************************************
    
    '**************************************config************************************************
    این دستورات مربوط به پیکر بندی ساعت و ال سی دی می باشدکه پیکر بندی ساعت برای ثبت زمان فایل ها لازم می باشد.
    Config Date = Ymd , Separator = /
    Config Clock = Soft
    Config Lcd = 20 * 4
    Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.6 , _
    Db7 = Porta.7 , E = Porta.3 , Rs = Porta.2
    '*********************************************************************************************
    
    '***************************************library***********************************************
    در اینجا دو کتاب خانه مورد نظر را به برنامه اضافه می کنیم.
    $include "CONFIG_AVR-DOS.Bas"
    $include "config_mmc.bas"
    '*********************************************************************************************
    
    '*****************************************const**********************************************
    
    '*********************************************************************************************
    
    '*****************************************begin**********************************************
    Enable Interrupts
    Cls : Cursor Off
    Time$ = "12:00:00" : Date$ = "10/04/27"
    Print "###############################"
    Print "# Amozesh AVR-DOS : dars aval #"
    Print "# Virast aval 1389/2/7    #"
    Print "# Amin Alikhani        #"
    Print "###############################"
    Locate 1 , 6
    Lcd "*AVR-dos*"
    Locate 2 , 4
    Lcd "*Disigned by*"
    Locate 3 , 3
    Lcd "*amin*"
    '*********************************************************************************************
    این دستور ورژن کتاب خانه ی موجود در کامپایلر را نمایش می دهد.
    Print "AVR-DOS Library version : " ; Ver()
    '*********************************************************************************************
    
    '*********************************************************************************************
    این تابع سالم بودن کارت حافظه را بررسی میکند و مقدار برگشتی ان در صورت سالم کارت صفر خواهد بود.
    Print "Setup Port and Reset Card ... " ;
    If Drivecheck() <> 0 Then
      Print
      Print "Card drive is not ready to use!"
      End
    End If
    Print "OK"
    '*********************************************************************************************
    
    '*********************************************************************************************
    این تابع کارت حافظه را اماده ی کار میکند که در صورت مواجه با مقداری بزرگ تر از صفر به خود باز میگیرد.
    If Driveinit() <> 0 Then
      Print "Card not inserted, check Card!"
      End
    End If
    Print "drive cheked ... OK"
    '*********************************************************************************************
    
    '*********************************************************************************************
    این تابع بررسی میکند که ایا کارت حافظه fat32است یاfat16که اگر هیچ یک از این دو نباشد به معنی این است که کارت مشکل دارد و باید فرمت شود.
    Print "Init File System ... " ;
    If Initfilesystem(1) <> 0 Then
      Print
      Print "File system is not suported"
    End
    End If
    Print "ok"
    '*********************************************************************************************
    
    '*********************************************************************************************
    این تابع ظرفیت کل کارت را بر حسب بایت نمایش می دهد.
    Print "Disksize : " ; Disksize() ; " bytes"
    '*********************************************************************************************
    
    '*********************************************************************************************
    این تابع مقدار فضای خالی کارت را نمایش می دهد.
    Print "Disk free: " ; Diskfree() ; " bytes"
    '*********************************************************************************************
    
    '*********************************************************************************************
    این توابع نام فایل و تاریخ اخرین تغییر یا تاریخ ساخت فایل را بر می گردانند
    تابع filelenحجم فایل را نمایش می دهد
    Print "----------------------------------------------"
    S = Dir( "*.*")
    While Len(s) > 0
      Print S ; " " ; Filedate() ; " " ; Filetime() ; " " ; Filelen()
      S = Dir()
    Wend
    Print "----------------------------------------------"
    '*********************************************************************************************
    
    Print "payan dars aval."
    End
    موفوق باشید تا قسمت بعد اموزش خدافظ :bye
    آدلان پایا متخصص در حوضه ربات های پرنده
    https://adlanpaya.ir/

    #2
    پاسخ : آموزش کار با کارت SD(بیسیک){درخواستی}

    آفرین :applause:
    خیلی عالیه :applause:
    من به زبان سی بلدم ولی بیسیک بلد نیستم پس ادامه بده :applause:
    امیدوارم این تاپیک در موضوعات مهم قرار بگیره :rolleyes: :redface:
    1 در دنیا 100 در آخرت (درس و مشق فعالیتمو تو انجمن کم کرده)
    من آنچه شرط بلاغست با تو میآ‌گویم. تو خواه از سخنم پند گیر و خواه ملال. سعدی
    !Electronic On! Programming On
    هوشمندانه سوال بپرسیم!
    http://ir02x6.persiangig.com/logo/eca/tanks_01.png

    دیدگاه

    لطفا صبر کنید...
    X