اطلاعیه

Collapse
No announcement yet.

کمک در مورد bascom-avr

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

    کمک در مورد bascom-avr

    با سلام خدمت دوستان گرامی. من یه سوالی راجع به bascome-avr دارم .می خوام بدونم که میشه تو bascome یه آرایه 3 بعدی تعریف کرد ؟ مثلا X[10][10][5]
    اگه کسی می دونه لطفا کمک کنه.با تشکر

    #2
    پاسخ : کمک در مورد bascom-avr

    نمیشه
    ما زنده به آنیم که آرام نگیریم موجیم که آسودگی ما عدم ماست

    وقتی یک ملت برای فرهنگ و نژاد و ملیت خویش ارزشی قائل نشد و حقی را که طبیعت برای نگاهداری نژاد پاکش به او ارزانی داشته بود پایمال ساخت و به بیگانگان روی آورد و تسلیم شد دیگر حق ندارد از شکست و بدبختی سیاسی که خودش باعث آن شده است شکایت کند .ادولف هیتلر

    r.babazadeh@yahoo.com

    دیدگاه


      #3
      پاسخ : کمک در مورد bascom-avr

      خیر

      دیدگاه


        #4
        پاسخ : کمک در مورد bascom-avr

        متاسفانه همونطور که دوستان گفتند در حالت عادی این کار امکان پذیر نیست اما می تونید با استفاده از این قطعه کد، مجازا آرایه های چند بعدی تعریف کنید. البته برنامه ی زیر برای آرایه های دو بعدی است که براحتی می تونید اون رو به آرایه ی nxn تعمیم بدید. :smile:

        تابع SetArray2D برای نوشتن در این آرایه است که آرگومان اول و دوم اندیس های آرایه هستند و پارامتر سوم مقدار مورد نظر برای نوشتن در آن اندیس است.

        تابع Getarray2d هم مقداری عددی موجود در مختصات d1 و d2 را (که پارامترهای تابع هستند) بر می گرداند.

        کد:
        [left]
        
        
        Const cArrayD1 = 7            ' define here Size of dimension 1
        Const cArrayD2 = 13            ' define here Size of dimension 2
        
        Const cArrayD1D2 = cArrayD1 * cArrayD2  ' sum of elements in 2d-Array
        
        Dim bArray2D(cArrayD1D2) as Byte    ' hold the data of the 2d-array
        
        Declare Function GetArray2D (D1 as Byte, D2 as Byte) as Byte
        Declare Sub SetArray2D (D1 as Byte, D2 as Byte, pValue as Byte) as Byte
        
        
        Dim b1 as Byte     ' counter for D1
        Dim b2 as Byte     ' Counter for D2
        Dim b3 as Byte     ' array value to write and read
        
        B3 = 0
        
        print "Writing a value to each element of the 2d-array"
        Print "D1 D2 Value"
        
        For B1 = 1 To Carrayd1
          for b2 = 1 to cArrayD2
           setArray2D b1, b2, b3
           print b1; " " ; b2 ; " " ; b3
           incr b3
          next
        next
        
        
        print "Reading each element of the 2d-array"
        Print "D1 D2 Value"
        
        for b1 = 1 to cArrayD1
          for b2 = 1 to cArrayD2
           b3 = GetArray2D(b1, b2)
           print b1; " " ; b2 ; " " ; b3
          next
        next
        
        end
        
        '-------------------------------------------------------------
        
        Function Getarray2d(d1 As Byte , D2 As Byte) As Byte
          Local WArrayPointer as Word
          wArrayPointer = d1 - 1
          wArrayPointer = wArrayPointer * cArrayD2
          wArrayPointer = wArrayPointer + D2
          GetArray2D = bArray2D(wArrayPointer)
        end Function
        
        Sub SetArray2D (D1 as Byte, D2 as Byte, pValue as Byte) as Byte
         Local WArrayPointer as Word
         wArrayPointer = d1 - 1
         wArrayPointer = wArrayPointer * cArrayD2
         wArrayPointer = wArrayPointer + D2
         bArray2D(wArrayPointer) = pValue
        end Sub
        
        
        [/left]
        There is nothing so practical as a good theory. — Kurt Lewin, 1951

        دیدگاه


          #5
          پاسخ : کمک در مورد bascom-avr

          با سلام .از همه دوستان متشکرم .میشه در مورد این قطعه کد بیشتر توضیح بدین ؟در ضمن آرایه دو بعدی میشه بدون استفاده از این کد نوشت؟

          دیدگاه


            #6
            پاسخ : کمک در مورد bascom-avr

            سلام،

            برنامه کامنت داره اما اگر فرصت شد بعدا توضیحاتش رو می نویسم. در مورد سوالتون هم: متاسفانه خیر.
            There is nothing so practical as a good theory. — Kurt Lewin, 1951

            دیدگاه


              #7
              در خواست مرجع

              با سلام .من یک کتاب خوب و مختصر و مفید در مورد میکروی AVR به زبان بیسیک یا C می خوام . تو قسمتهای تایمرها و وقفه ها و ADC مشکل دارم !!! با تشکر از همه دوستان گرامی .(خیلی فوریه)

              دیدگاه


                #8
                پاسخ : کمک در مورد bascom-avr

                کتاب خوداموز سریع codevision
                نویسنده بهداد دالوندی

                دیدگاه


                  #9
                  پاسخ : در خواست مرجع

                  نوشته اصلی توسط mh_control
                  با سلام .من یک کتاب خوب و مختصر و مفید در مورد میکروی AVR به زبان بیسیک یا C می خوام . تو قسمتهای تایمرها و وقفه ها و ADC مشکل دارم !!! با تشکر از همه دوستان گرامی .(خیلی فوریه)
                  برای بیسیک هم " میکروکنترلر های AVR مهندس علی کاهه "

                  برای شروع بسیار کتاب خوبیست.

                  موفق باشید

                  دیدگاه


                    #10
                    کمک در مورد bascom-avr

                    با سلام خدمت دوستان گرامی
                    من یه برنامه ساده نوشتم که یه موتورو 40 ثانیه در یک جهت بچرخونه و بعد متوقف بشه و دوباره 40 ثانیه دیگه در جهت عکس بچرخه . ولی وقتی سیمولیتش میکنم
                    در ست کار نمی کنه .اگه کسی لطف کنه اشکال برنامرو بگه ممنون میشم .من که نتونستم اشکالشو رفع کنم
                    با تشکر
                    regfile = "m32def.dat"
                    Config Pind.0 = Output
                    Config Pind.1 = Output
                    Config Timer0 = Timer , Prescale = 1
                    Dim N As Long
                    N = 0
                    Enable Interrupts
                    Enable Ovf0
                    On Ovf0 Lable1
                    Set Portd.0 : Reset Portd.1
                    Start Timer0
                    Lable2:
                    Select Case N
                    Case Is >= 156250 : Stop Timer0
                    Reset Portd.0
                    Set Portd.1
                    Waitms 100
                    Reset Portd.1
                    Wait 4
                    Case Else : Goto Lable2
                    End Select
                    Timer0 = 0
                    N = 0
                    Reset Portd.0 : Set Portd.1
                    Start Timer0
                    Lable3:
                    Select Case N
                    Case Is >= 156250 : Stop Timer0
                    Set Portd.0
                    Reset Portd.1
                    Waitms 100
                    Reset Portd.0
                    Case Else : Goto Lable3
                    End Select
                    End

                    Lable1:
                    Incr N
                    Return

                    دیدگاه


                      #11
                      پاسخ : کمک در مورد bascom-avr

                      چه ایرادی نشون میده ؟

                      اولین اشکال این برنامه نداشتن crystal$ است.

                      فرکانس اسیلاتور میکروی شما چقدر است ؟


                      موفق باشید .




                      دیدگاه


                        #12
                        کمک در مورد bascom-avr

                        منبه جای کریستال خارجی از RC کالیبره شده داخلی استفاده می کنم. اشکالش اینه که وقتی سیمولیت می کنم پشت سر هم میره و دستور goto lable1 رو اجرا می کنه و اصلا از این حلقه خارج نمیشه .در ضمن میشه بگین چه طوریRC داخلی رو تنظیم می کنید شاید اشکالش از همینه؟ من تازه کارم . شاید مشکلم همینه. اگه زود کمک کنین ممنون میشم .یه سوال دیگه من خروجی میکرو رو به L293 وصل کردم ولی نه تنها تقو یت نکرد بلکه ولتاژ و جریان خروجیش هم کمتر شد فکر میکنید اشکال از کجاست؟ به نظرتون L298 بهتره؟

                        دیدگاه


                          #13
                          پاسخ : کمک در مورد bascom-avr

                          در هر صورت باید دستور $crystal رو استفاده کنید چه با کریستال خارجی چه با اسیلاتور داخلی.
                          در مورد L293 هم این درایور تا 600mA میده . موتورتون بیشتر از این جریان میکشه؟؟؟؟ :eek: در مورد تقویت هم ، L293 یه تقویت کننده پوش پول هستش.
                          احتمالا ولتاژ VDD درایور رو یا وصل نکردین یا Enable اش رو فعال نکردین.
                          L298 تنها تفاوتش با L293 اینه که تا 2mA جریان میده (البته نامیش) و امکان کنترل جریان رو هم داره.
                          آموزش نرم افزار Matlab برای دانشجویان رشته های مهندسیhttp://alidoost.ir/news.php?readmore=22

                          دیدگاه


                            #14
                            کمک در مورد bascom-avr

                            با سلام .من crystal$ رو هم نوشتم ولی بهز موقع سیمولیت کردن بین دو دستور select case و goto lable2 حرکت میکنه و از این حلقه اصلا خارج نمیشه؟
                            در ضمن تو L293 من Enable و Vs چیپ رو هم به Vcc وصل کردم ولی متاسفانه جریانی حدود 35mA میده در حالی که خروجی خود میکرو جریانی در حدود 75mA میده!!!
                            من که سر در نمی آرم .با تشکر از همه دوستان

                            دیدگاه


                              #15
                              پاسخ : کمک در مورد bascom-avr

                              میکرو 75mA جریان میده؟؟؟ :eek: شوخی میکنی؟؟؟؟ میکروت چیه؟؟؟ :biggrin:
                              اگه VS .و EN رو دادی به 5 ولت خوب حله.
                              به VSS چند ولت دادی؟؟؟ (پایه 16)
                              اگه همه چی درست باشه با اعمال 5 ولت به یه کانال ولتاژ VSS رو در خروجی خواهید داشت.
                              مگه اینکه میکرو یا درایور به باد رفته باشه. :rolleyes:
                              آموزش نرم افزار Matlab برای دانشجویان رشته های مهندسیhttp://alidoost.ir/news.php?readmore=22

                              دیدگاه

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