اطلاعیه

Collapse
No announcement yet.

این چرا کار نمیکنه؟؟

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

    این چرا کار نمیکنه؟؟

    سلام ..
    میشه یکی از دوستان بهم بگه این برنامه چرا کار نمیکنه؟؟ :eek:
    میخوام با فشردن کلید متصل به C.0 پورت B.1 رو تاگل کنه ..
    فکر کنم برنامه منطقیه بنظرم ..
    اینم برنامه :
    [code=c]#include <MEGA8.h>
    #include <delay.h>
    void main (void){
    int a=1;
    DDRB=0xff;
    DDRC=0x00;
    PORTC=0xff;
    while(1){
    if(a==1){
    if(!(PINC.0)){
    PORTB.1=!(PORTB.1);
    a=2;

    }
    if(PINC.0==1) a=1;


    } } }[/code]
    تیم کاوش در مسابقات بین المللی ایران اپن 2016.نمایشی.مین یاب.
    علم را باید در آزمایشگاه یاد گرفت نه در دانشگاه!

    #2
    پاسخ : این چرا کار نمیکنه؟؟

    جناب pars_paya شما سوال میپرسین بعد خودتون از خودتون تشکر میکنین؟ منظورم maryam_fr هستش....

    حداقل با نرم افزار change ip ایپی تون رو عوض کنید...

    :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen:
    .The best question deserves a better answer
    =-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=
    «پناه»می برم «به خدا»
    از عـیبی که ، «امروز» در خود می بینم، و «دیروز» «دیگران را» به خاطر، «هـمان عیـب» ملامت کرده ام.
    محتاط باشیم، در «سرزنش» و «قضاوت کردن دیگران». وقتی نه از «دیروز او» خبر داریم و نه از "فردای خودمان" .

    دیدگاه


      #3
      پاسخ : این چرا کار نمیکنه؟؟

      نوشته اصلی توسط pars_paya
      سلام ..
      میشه یکی از دوستان بهم بگه این برنامه چرا کار نمیکنه؟؟ :eek:
      میخوام با فشردن کلید متصل به C.0 پورت B.1 رو تاگل کنه ..
      فکر کنم برنامه منطقیه بنظرم ..
      اینم برنامه :
      [code=c]#include <MEGA8.h>
      #include <delay.h>
      void main (void){
      int a=1;
      DDRB=0xff;
      DDRC=0x00;
      PORTC=0xff;
      while(1){
      if(a==1){
      if(!(PINC.0)){
      PORTB.1=!(PORTB.1);
      a=2;

      }
      if(PINC.0==1) a=1;


      } } }[/code]
      درود

      سینا جان چی شد پروژه قبلی ؟؟ رفتین دیگه نیومدید سر بزنید ؟؟

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

      برنامه رو اینطور بنویسید بهتره
      [code=c]if(!PINC.0)
      {
      delay_ms(10);
      if(!PINC.0)
      {
      PORTB.0 = !PORTB.0;
      while(!PINC.0);
      }
      }[/code]

      کتابخانه delay.h هم باید اینکلود کنید
      10 میلی ثانیه تاخیر برای Debounce است ...

      موفق باشید
      [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
      معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
      معرفی نرم افزار Codewizard PWM
      با من بیشتر آشنا شوید

      دیدگاه


        #4
        پاسخ : این چرا کار نمیکنه؟؟

        والا من خودم از خودم تشکر نکردم :eek: :eek: :eek: :eek: :eek:
        کمبود محبت نداریم بخخخخخخخخخدا.....
        کاش کاربری که مطلبو میخونه کمی دقت کنه!!! اینی که من گفتم مشکل بود نه "راه حل مشکل"
        حالا بگذریم ...
        ممنون آقا سامان ...
        تو یه تاپیک دیگه در مورد یوزارت و TWI چند تا سوال از خدمتتون پرسیدم، میشه به اونم جواب بدین؟؟
        فکر کنم این برنامه ای که زحمت کشیدین و واسم گذاشتین ، فکر کنم تا زمانی که دستت رو کلید باشه تند تند تاگلش کنه ...
        میخوام تو هر بار فشار کلید ، فقط یکبار این کار انجام بشه.....
        در مورد پروژه قبلی هم دارم مدار مربوط به درایور های AC وDC خروجی مدار رو میزنم ..
        فکرم هم معطوف شده به همون داستان کلیدها .... کارم با TWI یا یوزارت راه بیوفته اونم میسازمش...
        راستی چرا یه برنامه ای که(برنامه TWI) باهاش تو ویندوز Xp ، جوابگرفتم ، تو ویندوز 8 کار نمیکنه؟؟؟؟؟؟؟؟؟؟؟؟
        تیم کاوش در مسابقات بین المللی ایران اپن 2016.نمایشی.مین یاب.
        علم را باید در آزمایشگاه یاد گرفت نه در دانشگاه!

        دیدگاه


          #5
          پاسخ : این چرا کار نمیکنه؟؟

          نوشته اصلی توسط pars_paya
          تو یه تاپیک دیگه در مورد یوزارت و TWI چند تا سوال از خدمتتون پرسیدم، میشه به اونم جواب بدین؟؟
          جواب دادم که ... شما پاسخ ندادید دیگه ...
          ببین اگر با سی کار کنید من تا آخرش هم باهاتون هستم ... ولی بیسیک رو نه ... واقعا توی بیسیک من هیچم !!!

          نوشته اصلی توسط pars_paya
          فکر کنم این برنامه ای که زحمت کشیدین و واسم گذاشتین ، فکر کنم تا زمانی که دستت رو کلید باشه تند تند تاگلش کنه ...
          برنامه رو پروگرام کن میبینی ...
          دستور while کارش اینه که اگر شرط داخل پرانتز درست باشه حلقه را تکرار میکنه ...
          حالا من در این برنامه گفتم تازمانی که دستت روی کلید هست توی حلقه بمون ...
          به عبارت بهتر برنامه منتظر میشینه تا دستمون را از رو کلید برداریم ...

          نوشته اصلی توسط pars_paya
          در مورد پروژه قبلی هم دارم مدار مربوط به درایور های AC وDC خروجی مدار رو میزنم ..
          فکرم هم معطوف شده به همون داستان کلیدها .... کارم با TWI یا یوزارت راه بیوفته اونم میسازمش...
          با آرزوی موفقیت

          نوشته اصلی توسط pars_paya
          راستی چرا یه برنامه ای که(برنامه TWI) باهاش تو ویندوز Xp ، جوابگرفتم ، تو ویندوز 8 کار نمیکنه؟؟؟؟؟؟؟؟؟؟؟؟
          این رو نمیدونم ولی من تمام برنامه هام بدون مشکل روی ویندوز 8 کار میکنند البته 64بیتی ...

          موفق باشید
          [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
          معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
          معرفی نرم افزار Codewizard PWM
          با من بیشتر آشنا شوید

          دیدگاه


            #6
            پاسخ : این چرا کار نمیکنه؟؟

            نوشته اصلی توسط سامان اسدی
            این رو نمیدونم ولی من تمام برنامه هام بدون مشکل روی ویندوز 8 کار میکنند البته 64بیتی ...
            یه برنامه نوشتم که رو XP بنزه ، ولی تو 8 اصلا برنامه درست اجرا نمیشه...
            نمیدونین دلیل چیه؟؟
            C هم اساسی استارت خورده ...
            رو خود زبان C سوارم ولی تو محیط کدویژن یکم تازه کارم ...
            ممنون
            تیم کاوش در مسابقات بین المللی ایران اپن 2016.نمایشی.مین یاب.
            علم را باید در آزمایشگاه یاد گرفت نه در دانشگاه!

            دیدگاه


              #7
              پاسخ : این چرا کار نمیکنه؟؟

              برنامه تون درست کارکرد !!!!!!!!!! :wow: :wow: :wow: :wow: :wow:
              آقا میشه لطف کنی بگی اون while ی که تو اون if هست دقیقا کجا حلقه ایجاد کرده؟؟
              ممنون......
              تیم کاوش در مسابقات بین المللی ایران اپن 2016.نمایشی.مین یاب.
              علم را باید در آزمایشگاه یاد گرفت نه در دانشگاه!

              دیدگاه


                #8
                پاسخ : این چرا کار نمیکنه؟؟

                نوشته اصلی توسط pars_paya
                برنامه تون درست کارکرد !!!!!!!!!! :wow: :wow: :wow: :wow: :wow:
                آقا میشه لطف کنی بگی اون while ی که تو اون if هست دقیقا کجا حلقه ایجاد کرده؟؟
                ممنون......
                سوال خوبی بود
                این دستور میتونه هم بدون حلقه باشه هم با حلقه ...
                موقعی که جلوی دستور while علامت ; را میگذاریم دستور بدون حلقه ایجاد میشه ... در حقیقت برنامه تنها while را تکرار میکند ...

                موفق باشید
                [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
                معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
                معرفی نرم افزار Codewizard PWM
                با من بیشتر آشنا شوید

                دیدگاه


                  #9
                  پاسخ : این چرا کار نمیکنه؟؟

                  یعنی اونجایی که while ; نوشته باشیم ، برنامه همونجا گیرمیکنه؟؟
                  واسه استپ بعدی میشه چگونگی راه اندازی ال سی دی کاراکتری ،بدون استفاده از کدویزارد رو واسم بگین؟؟
                  اسباب زحمت شدیم آقا سامان.. شرمنده ...
                  تیم کاوش در مسابقات بین المللی ایران اپن 2016.نمایشی.مین یاب.
                  علم را باید در آزمایشگاه یاد گرفت نه در دانشگاه!

                  دیدگاه


                    #10
                    پاسخ : این چرا کار نمیکنه؟؟

                    نوشته اصلی توسط pars_paya
                    یعنی اونجایی که while ; نوشته باشیم ، برنامه همونجا گیرمیکنه؟؟
                    همونطور که قبلا گفتم این دستور یک حلقه ای است که ابتدا شرط را بررسی میکند و سپس وارد حلقه میشود ...
                    بنابراین زمانی که حلقه برای آن تعریف نشود تنها شرطی که داخل پرانتز هست را بررسی میکند ...
                    شاید برایتان یه سوال پیش آید که چرا می نویسند (1)while چرا ننوشتند (while(2 ....
                    دلیل آن این است ککه داخل پرانتز باید True باشد ... اعداد منفی و مثبت True و عدد 0 هم False هست ...
                    پس هر جای برنامه نویسی داخل پرانتز True باشد آن دستور اجرا میشود ... مثل شرطها ... مثل () do while ...
                    و مثل ()while ...
                    بنابراین : برنامه گیر نمیکنه ... فقط تازمانی که دست شما روی آن کلید هست برنامه همان جا می ماند ...

                    نوشته اصلی توسط pars_paya
                    واسه استپ بعدی میشه چگونگی راه اندازی ال سی دی کاراکتری ،بدون استفاده از کدویزارد رو واسم بگین؟؟
                    موقعی که کدویژن با کمک کدویزارد لقمه آماده گذاشته چه کاریه که بریم سراغ کتابخونه های دیگه ؟؟؟
                    [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
                    معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
                    معرفی نرم افزار Codewizard PWM
                    با من بیشتر آشنا شوید

                    دیدگاه


                      #11
                      پاسخ : این چرا کار نمیکنه؟؟

                      سلام سامان جان ...
                      اسباب زحمتت دوباره اومد ....
                      حاجی با ویزارد وقتی کد میزنی ، همه رجیستر ها تو مقدار دهی میکنه ..
                      حتی اونایی که 0 هستن!!!
                      یعنی یکم برنامه حجیم میشه از نظر نوشتاری ...
                      نکته دیگه اینه که هر کی به یه طریقی LCD رو راه انداخته....
                      میشه یه راهی که ویزارد نباشه و سهل الحصول باشه بگین ؟؟(اگه میشه نمونه کد بدین )
                      تیم کاوش در مسابقات بین المللی ایران اپن 2016.نمایشی.مین یاب.
                      علم را باید در آزمایشگاه یاد گرفت نه در دانشگاه!

                      دیدگاه


                        #12
                        پاسخ : این چرا کار نمیکنه؟؟

                        سلام
                        نوشته اصلی توسط pars_paya
                        اسباب زحمتت دوباره اومد ....
                        خواهش میکنم ... نفرمایید ...

                        نوشته اصلی توسط pars_paya
                        حاجی با ویزارد وقتی کد میزنی ، همه رجیستر ها تو مقدار دهی میکنه ..
                        حتی اونایی که 0 هستن!!!
                        یعنی یکم برنامه حجیم میشه از نظر نوشتاری ...
                        بله درسته ... شما میتوانید آنهایی که مساوی صفر هستند را پاک کنید ...

                        نوشته اصلی توسط pars_paya
                        نکته دیگه اینه که هر کی به یه طریقی LCD رو راه انداخته....
                        ورژن قدیمی کدویژن با کتابخانه lcd.h بود که الان با توجه به تغییراتی که دادند اسم کتابخانه آن به alcd.h تغییر کرده ...
                        ببین توی کدویژن الان همه دارن با همون کتابخونه های خودش کار میکنن ... کسی نمیاد یه کتابخونه دیگه تهیه کنه و با اون کار کنه ...
                        مگر اینکه با نرم افزارهای متن آزاد (Open Source) کار کنند ... مثل WinAVR و اتمل استودیو و ...
                        کامپایلرشون در حقیقت GCC هست . که این هم رایگان هست .
                        اگر منظورتون در نرم افزار های متن آزاد هست که درست میگید ... همه سلیقه ای کار میکنند ...
                        ولی اگر با کدویژن کار کنید دیگه سلیقه ای در کار نیست ... تمام دستورات یکی هست ...

                        نوشته اصلی توسط pars_paya
                        میشه یه راهی که ویزارد نباشه و سهل الحصول باشه بگین ؟؟(اگه میشه نمونه کد بدین )
                        حقیقتش من با کتابخونه های LCD کار نکردم ... همیشه با کدویژن کار میکردم ...

                        موفق باشید
                        [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
                        معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
                        معرفی نرم افزار Codewizard PWM
                        با من بیشتر آشنا شوید

                        دیدگاه


                          #13
                          پاسخ : این چرا کار نمیکنه؟؟

                          نه نه ..
                          ببخشید ..
                          من منظورمو بد رسوندم ...
                          با همون کتابخونه های کدویژن ، یه نمونه کد بهم میدین که توش مثلا عدد 245 و عبارت"ECA" تو LCD نمایش داده بشه ؟؟ بدون شاخ و برگ دادن به برنامه .. چون میخوام خود ال سی دی جا بیوفته و ادامه ش بدیم ...
                          بازم ممنون
                          تیم کاوش در مسابقات بین المللی ایران اپن 2016.نمایشی.مین یاب.
                          علم را باید در آزمایشگاه یاد گرفت نه در دانشگاه!

                          دیدگاه


                            #14
                            پاسخ : این چرا کار نمیکنه؟؟

                            نوشته اصلی توسط pars_paya
                            نه نه ..
                            ببخشید ..
                            من منظورمو بد رسوندم ...
                            با همون کتابخونه های کدویژن ، یه نمونه کد بهم میدین که توش مثلا عدد 245 و عبارت"ECA" تو LCD نمایش داده بشه ؟؟ بدون شاخ و برگ دادن به برنامه .. چون میخوام خود ال سی دی جا بیوفته و ادامه ش بدیم ...
                            بازم ممنون
                            این رو نگاه کن
                            http://www.eca.ir/forum2/index.php?topic=102648.msg657034#msg657034
                            بهترین مثال هست
                            [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
                            معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
                            معرفی نرم افزار Codewizard PWM
                            با من بیشتر آشنا شوید

                            دیدگاه


                              #15
                              پاسخ : این چرا کار نمیکنه؟؟

                              آقا یه دنیا تشکر..... :nice: :nice: :nice:
                              تیم کاوش در مسابقات بین المللی ایران اپن 2016.نمایشی.مین یاب.
                              علم را باید در آزمایشگاه یاد گرفت نه در دانشگاه!

                              دیدگاه

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