اطلاعیه

Collapse
No announcement yet.

برنامه نویسی در بسکام

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

    #16
    پاسخ : برنامه نویسی در بسکام

    چرا به این خط ایراد میگیره بسکام :
    کد:
    Function Writemmc_sector(byval Num As Long , Byref Sect(512) As Byte) As Bit
    Local Repeat As Integer
    For Repeat = 0 To 511
    Spiout A(repeat) , 1
    Next Repeat

    میگه :
    Variable is not dimensioned as an array

    برای خط spi out


    دنیا بر پایه برنامه هایی هست که خدا با زبان برنامه نویسی خودش مینویسد . کامپایل شده آن این جهان و قوانین آن است . start آن تولد است و end آن مرگ . پر از گزینه های شرطی و دستورات حلقه و تکرار ...

    دیدگاه


      #17
      پاسخ : برنامه نویسی در بسکام

      Declare Function Writemmc_sector(byval Num As Long) As Bit

      Dim Sect(512) As Byte

      Function Writemmc_sector(byval Num As Long) As Bit
      Local Repeat As Integer
      For Repeat = 0 To 511
      Spiout Sect(repeat) , 1
      Next Repeat
      End Function

      -----------------------------------------------------------------------------------------------
      واسه write sector چرا function ؟
      چرا از sub استفاده نمیکنی ؟
      یا چرا از دستوراته MMC خود بسکام استفاده نمیکنی ؟

      دلا خو کن به تنهایی که از تنها بلا خیزد

      دیدگاه


        #18
        پاسخ : برنامه نویسی در بسکام

        واسه write sector چرا function
        با سلام و ممنون از پاسختون
        به دلیل اینکه من میخوام یک کتابخانه بنویسم که تو تمام پروژه هام از اونا استفاده کنم . و فقط include کنم .

        یا چرا از دستوراته MMC خود بسکام استفاده نمیکنی ؟
        اگر منظورتون دستورات fat هست به دلیل سرعت پایین اون نمی خوام استفاده کنم . اگر منظورتون دستورات سکتور نویسی داخل mmc هست متاسفانه اطلاعی ندارم . می تونید کمکم کنید . :applause: :applause:

        حالا یک سوال دیگه هم دارم ؟ :icon_razz:
        نحوه آدرس دهی سکتور ها در رم sd چه جوریه . من از رم 1 گیگابایت استفاده میکنم .
        میخوام مثلا تور سکتور شماره 5 یک آرایه 512 بایتی رو بریزم و بعد بایت 2725 را بخونم که به عبارتی باید آدرس سکتور پنج را پیدا کنم و سکتور را داخل آرایه بریزم و بایت مورد نظر رار سرچ کنم .
        واسه پیدا کردن پایت از فزمول زیر استفاده کردم .
        کد:
        K = 0
        While Num > 512
        Num = Num - 512
        Incr K
        Wend
        K = K * 512
        Address = K + 1

        در اینجا شماره بایت همون num
        و در آخر k میگه که سکتور چندم باید بخونم . فط مشکلم درک نکردن این موضوعه که آدرسا چه جوریه . چون جواب یک چیز دیگه ای هست که تو sd در ذخیره کردم .
        دنیا بر پایه برنامه هایی هست که خدا با زبان برنامه نویسی خودش مینویسد . کامپایل شده آن این جهان و قوانین آن است . start آن تولد است و end آن مرگ . پر از گزینه های شرطی و دستورات حلقه و تکرار ...

        دیدگاه


          #19
          پاسخ : برنامه نویسی در بسکام

          این برنامه چه مشکلی داره که کار نمی کنه
          $regfile = "m16def.dat"
          $crystal = 1000000
          Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.2 , Rs = Portb.0
          Config Lcd = 16 * 2
          Ddrb.3 = 1
          Portb.3 = 1
          Config Adc = Single , Prescaler = Auto , Reference = Avcc
          Dim A As Word
          Ddrb.3 = 1
          Portb.3 = 1
          Cls
          Home
          Start Adc
          Do
          A = Getadc(2)
          If A > 400 Then
          Cls
          Home
          Lcd "(!)faire(!)"
          Else
          Cls
          Home
          Lcd "raelaxe"
          Waitms 200
          End If
          Loop
          Sometimes to get more best things
          Have lost the good things

          http://up.vatandownload.com/images/4...yoiozp4ro7.gif
          3A(HD) PS

          دیدگاه


            #20
            پاسخ : برنامه نویسی در بسکام

            نوشته اصلی توسط Ahmadreza.Poursafar
            این برنامه چه مشکلی داره که کار نمی کنه
            $regfile = "m16def.dat"
            $crystal = 1000000
            Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.2 , Rs = Portb.0
            Config Lcd = 16 * 2
            Ddrb.3 = 1
            Portb.3 = 1
            Config Adc = Single , Prescaler = Auto , Reference = Avcc
            Dim A As Word
            Ddrb.3 = 1
            Portb.3 = 1
            Cls
            Home
            Start Adc
            Do
            A = Getadc(2)
            If A > 400 Then
            Cls
            Home
            Lcd "(!)faire(!)"
            Else
            Cls
            Home
            Lcd "raelaxe"
            Waitms 200
            End If
            Loop
            دوست عزیز شما شماتیک رو هم بزار بعد دقیق توضیح بده که جواب نمیده یعنی چی ؟
            منظورم اینکه lcd کار نمی کنه یا ADC یا ... .
            اگر شماتیک رو بزارید مطمئنا بیشتر می تونیم کمکتون کنیم.
            موفق باشید
            چرا ناراحتی پاتریک!
            + امروز ی بچه دیدم سرچهارراه گل میفروخت
            - از دیدنش ناراحت شدی؟
            + نه
            پس چی ناراحتت کرده
            + اینکه دیدن اینجور بچه ها انقدر واسم عادی شده که دیگه ناراحتم نمیکنه
            ------------------------------------------------------------------------------------------------------
            تاحالا فکر کردی بیسواد کیه؟- بی سواد یعنی کسی که نمیتونه ذهنیاتش رو عملی کنه!
            ------------------------------------------------------------------------------------------------------
            محصولات

            دیدگاه

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