اطلاعیه

Collapse
No announcement yet.

نوشتن دستور play/pause با بسکام

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

    نوشتن دستور play/pause با بسکام

    با سلام به دوستان.من برای یک کلید ورودی به avr نیاز به دستور ی دارم که کار play/pause رابرایم انجام بده.برای مثال اگر پین pinc.0 برای کاری خاص فشار داده شود .بشود با pinc.1 کار را متوقف وسپس با همین پین کار را از جایی که توقف کرده ادامه داد

    #2
    پاسخ : نوشتن دستور play/pause با بسکام

    پین مورد نظر که کار مکث کردن برنامه را به عهده داره رو وصل کن به اینتراپت.مثلا دکمه PAUSE اینتراپت باشه و به محض
    فشار دادن دکمه مکث وارد اینتراپت و یه حلقه بینهایت میشی.
    برای PLAY هم یه شرط خروج از حلقه بذار تا به محض خارج شدن برگرده به ادامه برنامه

    دیدگاه


      #3
      پاسخ : نوشتن دستور play/pause با بسکام

      اگه امکان داره یه نمونه کد می نویسی من توبسکام تازه کارم

      دیدگاه


        #4
        پاسخ : نوشتن دستور play/pause با بسکام

        من بیسیک بلد نیستم...اگه با C خواستی تا حدی بلدم
        شما که تازه داری یاد میگیری بیا با C شروع کن

        دیدگاه


          #5
          پاسخ : نوشتن دستور play/pause با بسکام

          با سلام این کد رو در هرجای برنامه که خواستی قرار بده
          if pinc.0=1 then
          bitwait pinc.0,reset
          waitms 200
          bitwait pinc.0 ,set
          waitms 100
          bitwait pinc.0 ,reset
          waitms 100
          روزی که درک کردیم همه چیز به خدا تعلق دارد . آن روز .روز طلوع دانش است

          دیدگاه


            #6
            پاسخ : نوشتن دستور play/pause با بسکام

            سلام.من با اینتراپت یک پین توانستم در حین کار یک برنامه _قبل از اینکه برنامه تا انتها برود_ وقفه ایجاد کنم ولی با فشار مجدد همان پین اینتراپت برنامه از جایی که وقفه در ان ایجاد شده بود به کار خود ادامه نداد بلکه متوقف شد.یعنی مانند stop نه pause
            $regfile = "m16def.dat"
            $crystal = 8000000
            Config Porta = Input
            Config Portc = Output

            Config Portb.7 = Output
            Config Portb.6 = Output
            Config Portd.0 = Output
            Config Portd.1 = Output
            Config Portd.2 = Output
            Config Int1 = Rising
            Config Portd.4 = Output
            Config Portd.5 = Output

            Config Pind.6 = Input
            Config Pind.7 = Input
            Enable Int1
            Enable Interrupts
            On Int1 Power1:
            Dim A As Integer
            Dim B As Integer

            B = 1

            Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.1 , Db6 = Portb.2 , _
            Db7 = Portb.3 , E = Portb.4 , Rs = Portb.5
            Config Lcd = 16 * 2
            Config Debounce = 10

            Start1:
            Do

            Debounce Pina.1 , 1 , Play , Sub
            Debounce Pina.2 , 1 , Spin , Sub

            Loop

            Tamam:
            End

            Power1:
            If B = 1 Then
            Set Portb.7
            Cls
            Lcd " select progeram"
            B = 0
            Else
            Reset Portb.7
            B = 1
            Cls

            Reset Portc
            End If
            Return

            Play:
            If B <> 1 Then
            Cls
            Lcd "select program"
            Else
            Goto Start1

            End If
            Return

            Spin:
            Cls
            Lcd "spining"
            Do
            If B <> 1 Then
            Toggle Portd.0
            Waitms 100
            Loop
            End If
            Return
            البته این اصل برنامه نیست و برای آزمایش وخطا میباشد در صورت نتیجه دادن ای ریز برنامه ها ویاد گرفتن اصول آن مطئنا در نوشتن اصل آن مشکلی ندارم
            حالا به نظر شما ای ن برنامه ای که دادید در کجای این برنامه قرار بدهم

            دیدگاه


              #7
              پاسخ : نوشتن دستور play/pause با بسکام

              با سلام
              اگه منظورت برنامه ای هست که من برات گذاشتم
              1 دیگه لزومی به استفاده از اینتراپت نیست
              2 این قسمت رو که من گذاشتم داخل حلقه do loop در بدنه اصلی باید بزاری البته در این برناه که گذاشتی اگه برناه فوق مهرمانه ای داری مینویسی جور دیگه باشه .اونوقت باید جاش فرق کنه
              روزی که درک کردیم همه چیز به خدا تعلق دارد . آن روز .روز طلوع دانش است

              دیدگاه


                #8
                پاسخ : نوشتن دستور play/pause با بسکام

                دوست گرامی .آقای رضایی.ضمن تشکر از راهنماییهایتان عرض شود هدف از ایجاد اینگونه محیط ها . برای کمک به هم وهمفکری میباشد . نه بحث محرمانه ای در کار است ونه کار سری .من به رباتیک علاقه دارم ومدتیه که هر از چندگاهی یک طرحی به ذهنم میرسه که ببینم با برنامه نویسی و مدارات الکترونیکی میشه انجام داد یا نه .الان هم طرح یک دستگاه چند کاره به ذهنم رسیده(که نوع کارش اصلا برایم مهم نیست) بطوری که وردوی داشته باشیم وچند تا خروجی -که بعدها بتوان از خروجی ها استفاده کرد.ولی چیزی که من لازم دارم این است که در حین کار یک خروجی مانند x که با ورودی x1 فعال شده بتوان آن را با ورودی y1 غیر فعال کرد یا باهمان ورودیy1 ، دوباره فعال کرد .یا اصولا متوقف کرد و از یک ورودی دیگر استفاده کرد.شما هم اینقدر بدبین نباش

                دیدگاه


                  #9
                  پاسخ : نوشتن دستور play/pause با بسکام

                  نوشته اصلی توسط velakat
                  دوست گرامی .آقای رضایی.ضمن تشکر از راهنماییهایتان عرض شود هدف از ایجاد اینگونه محیط ها . برای کمک به هم وهمفکری میباشد . نه بحث محرمانه ای در کار است ونه کار سری .من به رباتیک علاقه دارم ومدتیه که هر از چندگاهی یک طرحی به ذهنم میرسه که ببینم با برنامه نویسی و مدارات الکترونیکی میشه انجام داد یا نه .الان هم طرح یک دستگاه چند کاره به ذهنم رسیده(که نوع کارش اصلا برایم مهم نیست) بطوری که وردوی داشته باشیم وچند تا خروجی -که بعدها بتوان از خروجی ها استفاده کرد.ولی چیزی که من لازم دارم این است که در حین کار یک خروجی مانند x که با ورودی x1 فعال شده بتوان آن را با ورودی y1 غیر فعال کرد یا باهمان ورودیy1 ، دوباره فعال کرد .یا اصولا متوقف کرد و از یک ورودی دیگر استفاده کرد.شما هم اینقدر بدبین نباش
                  با سلام و عرض تشکر از انتقاد و راهنمایی سمیمانه شما دوست عزیز.
                  بنده نه به شما و نه به هیچ کس دیگه بد بین نیستم و نخواهم بود در این حد هم نیستم
                  ولی هرکسی جای من باشه و تاپیک قبلی شما رو که با موضوعی شبیه به این زدین و بعد از دو صفحه بیخیال شدین http://www.eca.ir/forum2/index.php?topic=87441.0
                  ببینه و بعد تاپیک جدید شما رو ببینه و دو برنامه ای رو که شما قرار دادی با هم مقایسه کنه ! به بدبینی خود شما نسبت به دیگر اعضا یقین پیدا میکنه .بنده اگه خدای نکردی به شما یا کس دیگری بد بین بودم اصلا اینجا راهنماییت نمیکردم
                  از شما هم تقاضا دارم قبل از اینکه موضع جدیدی در انجمن ایجاد کنید یه دور کامل داخل انجمن بگردید تا هم شاید به جواب برسید وهم نیازی نباشه بار سایت رو با ایجاد موضوعات تکراری افزایش بدیم .در این انجمن معمولا برای رفع مشکل همراه با سوال و توضیحات نقشه و برنامه کامل هم میزارن تا اگه کسی خواست کمکی کنی به کموکیف مشکل و مدار اگاه باشه به این طریق بدون شک به جواب میرسید ولی اگه با توضیحات ناقص و برنامه ای که چند بارتغییر داده شده (به علل مختلف) بخاهید به جواب برسید .جوابی بیش از این نصیب شما نمیشه و بیشتر باعث سردرگمی شما میشه
                  با تشکر
                  روزی که درک کردیم همه چیز به خدا تعلق دارد . آن روز .روز طلوع دانش است

                  دیدگاه

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