اطلاعیه

Collapse
No announcement yet.

چگونه می توان جدول گلایف تابلو روان را روی MMC ذخیره کرد؟

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

    #31
    پاسخ : چگونه می توان جدول گلایف تابلو روان را روی MMC ذخیره کرد؟

    این برنانه ای است که من دارم روش کار میکنم تا MMC رو یاد بگیرم .
    البته عملی هم جواب گرفتم و فایل تکست توی رم ایجا میشه .
    ولی وقتی من فایل تکستمو با PC تو MMC کپی میکنم ، تو مرحله 40 در صد گیر میکنه و در نهایت هم MMC Error میده یعنی تو قسمت B = Initfilesystem(1) گیر میکنه که اگه رمو فرمت کنم مشکل حل میشه در غیر این صورت رمو نمی شناسه.

    کد:
    '*******************
    ' LCD Configoration
    $regfile = "m32def.dat"
    $crystal = 8000000
    
    
    '*******************
    Config Lcd = 16 * 2
    Config Lcdpin = Pin , Db4 = Porta.0 , Db5 = Porta.1 , Db6 = Porta.4 , Db7 = Porta.5 , E = Porta.3 , Rs = Porta.2
    Cls
    
    '*******************
    ' Dimantion set
    '*******************
    Dim Mmc_error As Byte
    Dim Mmc_try As Byte
    Dim B As Byte
    Dim L As Byte
    Dim Ff As Byte
    Dim S As String * 30
    Dim Diskf As Long
    Dim Disks As Long
    Dim N As Byte
    Dim Nn As Byte
    
    
    
    '*******************
    ' Main Program
    '*******************
    Gosub Mmc_initialize
    Cls
    
    If Mmc_error = 0 Then
    Locate 1 , 1 : Lcd "start"
    For N = 1 To 10
    Open "mohsen.txt" For Append As #ff
    Print #ff , "line :" ; N
    Close #ff
    Next N
    
    
    Locate 1 , 1 : Lcd "end "
    
    Else
    Locate 1 , 1 : Lcd "MMC ERROR"
    
    End If
    
    
    End
    
    
    
    '*******************
    ' SUB
    '*******************
    Mmc_initialize:
    Locate 1 , 1 : Lcd "0%"
    Mmc_error = 0
    Mmc_try = Mmc_try + 1
    $include "Config_AVR-DOS.BAS"
    $include "Config_MMC.bas"                  'include mmc
    Ff = Drivereset()
    Locate 1 , 1 : Lcd "10%"
    Ff = Driveinit()
    Locate 1 , 1 : Lcd "20%"
    $external Waitms
    Locate 1 , 1 : Lcd "30%"
    
    If Gbdriveerror <> 0 Then
      Locate 2 , 1 : Lcd "ERROR" ; Gbdriveerror
      If Mmc_try < 5 Then
       Goto Mmc_initialize
      Else
       Cls
       Locate 2 , 1 : Lcd "  MMC ERROR"
       Mmc_error = 1
       Goto End_of_mmc
      End If
    End If
    
    Locate 1 , 1 : Lcd "40%"
    B = Initfilesystem(1)                    'init file system
    If B <> 0 Then
      Locate 2 , 1 : Lcd "Error MMC"
      If Mmc_try < 5 Then
       Goto Mmc_initialize
      Else
       Mmc_error = 1
       Cls
       Locate 2 , 1 : Lcd "  MMC ERROR"
       Goto End_of_mmc
      End If
    End If
    
    Diskf = Diskfree()
    Locate 2 , 1 : Lcd "Free=" ; Diskf
    Locate 1 , 1 : Lcd "50%"
    
    Disks = Disksize()
    Locate 2 , 1 : Lcd "Size=" ; Disks
    Locate 1 , 1 : Lcd "60%"
    Ff = Freefile()
    Locate 1 , 1 : Lcd "70%"
    Open "mohsen.txt" For Append As #ff             'create file in MMC
    Locate 1 , 1 : Lcd "80%"
    S = Str(diskf)
    
    '1111111111111111111111111111111111111
    Print "line 9-1"
    Print #ff , S ; " Byte Disk Free Space"
    '22222222222222222222222222222222222222222
    
    Locate 1 , 1 : Lcd "90%"
    S = Str(disks)
    'Print #ff , S ; " Byte Disk Size"
    Locate 1 , 1 : Lcd "100%"
    
    
    End_of_mmc:
    Wait 2
    
    Return
    http://www.sharjweb.com/

    دیدگاه


      #32
      پاسخ : چگونه می توان جدول گلایف تابلو روان را روی MMC ذخیره کرد؟

      نوشته اصلی توسط mohsenjooon
      بله آقا امیر .
      ولی وقتی من یه فایل تکست با محتوای عدد که از طریق رم ریدر توی MMC ریختم رو میخوام با دستور Open "mohsen.txt" For Append As #ffباز کنم و بخونم ، برنامه ارور میده .
      البته حق هم داره چون بایتستی فرمت بشه .یعنی وقتی من اون فایلو (mohsen.txt) کپی کنم تو رم ، دیگه رم فرمت فت رو نمیشناسه و ارور میده
      گفتم لابود بایستی از روش سکتوری دیتای موجود تو رم رو بخونم .
      اگه دارم اشتباه میگم ،لطفا کمکم کنید. :rolleyes:
      نه اینطورنیست وقتی شما از fat استفاده کنید هرچی که با کامپیوتر روی رمب ریزید توسط میکرو قابل خوندنه
      یک مثال از برنامه mp3player که خودم ساختم رو مشاهده کن
      در این برنامه فایل تکست ساخته میشه و اهنگهای mp3 که با کامپیوتر روی رم ریخته شده هم اجرا میشه
      میتونی از این برنامه الگو بگیری
      http://www.4shared.com/file/S1AEe6_D/mp3.html
      شما با روش سکتوری نمیتونید دیتایی که با فرمت fat روی mmc ریختید رو بخونید
      چون شما اصلا نمیدونید دیتا کجای mmc ریخته شده ! فهمیدن این موضوع و پیدا کردن آدرس بایت به بایت دیتای شما اصل وجودی fat هست
      پروردگارا: به من زیستنی عطا کن که در لحظه مرگ بر بی ثمری لحظه ای که برای زیستن گذشته است حسرت نخورم، و مردنی عطا کن که بر بیهودگیش سوگوار نباشم. بگذار تا آن را خود انتخاب کنم، اما آنچنان که تو دوست میداری

      دیدگاه


        #33
        پاسخ : چگونه می توان جدول گلایف تابلو روان را روی MMC ذخیره کرد؟

        سلام آقای کاخکی .
        بابت فایلهایی که گذاشتین یه دنیا ممنونم.
        من تا حدودی از برنامتون یه چیزای فهمیدم .
        حالا برنامه ای رو نوشتم .
        من دقیقا کار های زیر رو کردم :
        ابتدا یه فایل تکست تو دسکتاپ درست کردم با نام mohsen و کدا های :
        F000F000F000F000F00000000000000
        C0FFC0FFC0FFC0FFC0FFC0FFF002C003
        C0030002000C000C000CFF0FFF0F001C
        001C112454C1CFC1FEC1FFC0F1C00000
        رو داخلش ریختم و بعد save کردمش. حالا این فایل رو کپی کردم تو رمی که فرمت فت 16 شده بود. بعد با دستورات زیر
        کد:
        '*******************
        $regfile = "m32def.dat"
        $crystal = 8000000
        $include "Config_AVR-DOS.BAS"
        $include "Config_MMC.bas"
        
        
        '*******************
        Config Lcd = 16 * 2
        Config Lcdpin = Pin , Db4 = Porta.0 , Db5 = _
         Porta.1 , Db6 = Porta.4 , Db7 = Porta.5 , E = Porta.3 , Rs = Porta.2
        Cls
        
        '*******************
        ' Dimantion set
        '*******************
        Dim Ff As Byte
        Dim Count As Long
        Dim Le As Long
        Dim Acc As Byte
        
        '*******************
        ' Main Program
        '*******************
        
        Cls
        
        
        Ff = Freefile()
        Open "mohsen.txt" For Binary #1
        
        Count = 1
        Do
          Le = Seek(#1)
          Get #1 , Acc , Le , Count
          Lcd Acc
          Waitms 20
          Cls
        
        Loop Until Eof(#1) <> 0
        
        Lcd "End OF File"
        Close #1
        
        End
        خواستم که فایل mohsen.txt رو باز کنم و توسط دستور Get محتوای اون فایل رو بخونم .
        حالا سوالم از شما اینه که چرا اون فایل باز نمیشه ؟ مگه نباید محتوای Acc در فرمان Get همون فایل خونده شده از فایل mohsen.txt باشه ؟ یعنی F000F000F000F000F00000000000000 که معادل 11111111 باینری هست.

        کانال باز شده (#1) مگه نباید از قبل توسط میکرو ، و به فایل ساخته شده توسط میکرو نسبت داده بشه، نه به فایل کپی شده با رم ریدر. منظورم اینه که میکرو چطور تشخیص میده که فایل کپی شده تو رم ریدر کانال ارتباطی اش یک هست؟
        اگه کل این دستورات برای فراخوانی از از رم حاوی تکست کپی شده اشتباه هست . پس چطور باید اون فایل رو بخونم و تو یه متغییر بریزم؟
        باور کنید شرمنده ام که سوالاتم خیلی ابتدایی .
        از شما ممنونم آفای کاخکی.

        http://www.sharjweb.com/

        دیدگاه


          #34
          پاسخ : چگونه می توان جدول گلایف تابلو روان را روی MMC ذخیره کرد؟

          دوست عزیز دقت کن وقتی شما یک فایل تکست معمولی ذخیره میکنید در حقیقت دارید کد اسکی (ASCII) ذخیره میکنید نه محتوای فایل
          مثلا اگر شما توی یک فایل بنویسید FF میکرو براتون همین FF رو برنمیگردونه بلکه 01000110 ,01000110 که کد اسکی FF هست رو برمیگردونه(همون چیزی که توی winhex میبینید)
          میکرو اسم فایل رو نمیشناسه برای مثال میکرو نمیدونه mohsen.txt چی هست
          برای همین شما یک عدد به این فایل اختصاص میدید و به میکرو میگید با این عدد کارکن به این ترتیب در حقیقت میکرو داره روی mohsen.hex کار میکنه
          یه مشکل هم برنامه تون داره
          وقتی شما Ff = Freefile()قرار دادین
          Open "mohsen.txt" For Binary ff قرار بدید دیگه
          پیشنهاد میکنم یه دور دیگه فایل آقای تروشه رو با دقت بخون همه چی مشخصه
          از بقیه دوستان هم میخوام تو بحث شرکت کنن

          پروردگارا: به من زیستنی عطا کن که در لحظه مرگ بر بی ثمری لحظه ای که برای زیستن گذشته است حسرت نخورم، و مردنی عطا کن که بر بیهودگیش سوگوار نباشم. بگذار تا آن را خود انتخاب کنم، اما آنچنان که تو دوست میداری

          دیدگاه


            #35
            پاسخ : چگونه می توان جدول گلایف تابلو روان را روی MMC ذخیره کرد؟

            دوستان عزیز کسی میدونه که چرا وقتی فایلی را از طریق رم ریدر تو MMC می ریزیم و بعد که میکرو به دستور Initfilesystem(1) میرسه ارور میده . ولی وقتی MMC رو فرمت کنیم ، خروجی این دستور صفر میشه و دیگه اروری هم نمی ده.
            من با این ارور چی کنم اخه .کشت منو.
            :angry: :angry:
            http://www.sharjweb.com/

            دیدگاه


              #36
              پاسخ : چگونه می توان جدول گلایف تابلو روان را روی MMC ذخیره کرد؟

              باور کنید سوالم زیاد سخت نیستا. ولی من نمیدونم.
              من میخوام یه فایل تکست رو با رم ریدر بریزم تو MMC و بعد هم او فایلو با میکرو بخونم و بریزم روی پورت میکرو .
              دستورات خوندن از MMC مگه GET نیت . پس چرا نمیخونه از MMC .
              لطفا کمکم کنید. :cry2: :cry2: :cry2: :cry2: :angry: :angry:
              http://www.sharjweb.com/

              دیدگاه


                #37
                پاسخ : چگونه می توان جدول گلایف تابلو روان را روی MMC ذخیره کرد؟

                نوشته اصلی توسط mohsenjooon
                باور کنید سوالم زیاد سخت نیستا. ولی من نمیدونم.
                من میخوام یه فایل تکست رو با رم ریدر بریزم تو MMC و بعد هم او فایلو با میکرو بخونم و بریزم روی پورت میکرو .
                دستورات خوندن از MMC مگه GET نیت . پس چرا نمیخونه از MMC .
                لطفا کمکم کنید. :cry2: :cry2: :cry2: :cry2: :angry: :angry:
                محسن جان این مشکل کلا یه بحث جداست و فکر کنم بارها در موردش بحث شده...

                در مجله ی نویز هم آموزش داده شده (فکر کنم شماره 3 هست)

                موفق باشید

                دیدگاه


                  #38
                  پاسخ : چگونه می توان جدول گلایف تابلو روان را روی MMC ذخیره کرد؟

                  سلام
                  آقا محسن
                  شما سخت افزار این تابلو رو بستی ؟
                  این برنامه رو من نوشتم
                  یاعلی

                  دیدگاه


                    #39
                    پاسخ : چگونه می توان جدول گلایف تابلو روان را

                    نوشته اصلی توسط مهدی سهیلی پور
                    سلام
                    آقا محسن
                    شما سخت افزار این تابلو رو بستی ؟
                    این برنامه رو من نوشتم
                    یاعلی
                    سلام
                    کدو تابلو رو ؟؟
                    شما جواب سوالات منو نمی دونید بیزحمت. :rolleyes: :rolleyes:
                    http://www.sharjweb.com/

                    دیدگاه


                      #40
                      پاسخ : چگونه می توان جدول گلایف تابلو روان را

                      نوشته اصلی توسط mohsenjooon
                      سلام
                      کدو تابلو رو ؟؟
                      شما جواب سوالات منو نمی دونید بیزحمت. :rolleyes: :rolleyes:
                      سلام
                      همون لینکی که از صفحه اول گذاشتید
                      یاعلی

                      دیدگاه


                        #41
                        پاسخ : چگونه می توان جدول گلایف تابلو روان را روی MMC ذخیره کرد؟

                        نوشته اصلی توسط حامد مهری
                        منظورشون همون جدولی هست که شما کدهای مربوط به حروف ساده انگلیسی رو ازش در آوردید ...
                        ممنون خوب حالا mmc چیه
                        ممنون خوب حالا mmc چیه
                        ممنون خوب حالا mmc چیه :eek:
                        مولا علی (ع) میفرمایند : آسوده باش , آستین هارا بالا بزن , بر خدا توکل کن , آنگاه خدا را خواهی دید که زودتر از تو دست به کار شده است .

                        دیدگاه


                          #42
                          پاسخ : چگونه می توان جدول گلایف تابلو روان را روی MMC ذخیره کرد؟

                          سلام بر اساتید دانشگاه ECA .
                          دوستان کسی میدونه که چرا در دستور get :

                          '**************
                          Le = 1
                          '**************


                          Get #ff , Arr1 , Le , Count
                          Close #ff
                          L1 = Low(arr1)
                          H1 = High(arr1)
                          Chlow1 = Chr(l1)
                          Chhigh1 = Chr(h1)
                          D1 = Hexval(chlow1)
                          E1 = Hexval(chhigh1)
                          D1 = D1 * 16
                          F1 = D1 + E1
                          Cls
                          Lcd " F1 = " ; F1
                          Wait 1
                          Portb = F1
                          Wait 1

                          '**************
                          Le = 5
                          '******'

                          Get #ff , Arr2 , Le , Count
                          Close #ff
                          L2 = Low(arr2)
                          H2 = High(arr2)
                          Chlow2 = Chr(l2)
                          Chhigh2 = Chr(h2)
                          D2 = Hexval(chlow2)
                          E2 = Hexval(chhigh2)
                          D2 = D2 * 16
                          F2 = D2 + E2
                          Cls
                          Lcd "F2 = " ; F2
                          Wait 1
                          Portb = F2
                          Wait 1

                          در برنامه فوق نمیشه محل ابتدایی خواندن دیتا از MMC رو یکبار از 1 و بعد از 5 (طبق برنامه بالا Le = 1 و Le =5 ) در واقع میکرو ابتدا بایت 1 رو میخونه بعد بجای اینکه بره بایت 5 رو بخونه ، بایت ادامه یعنی بایت 2 رو میخونه و به LE =5 که درواقع بایت 5 MMC هست ، نمیره ؟؟
                          http://www.sharjweb.com/

                          دیدگاه

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