اطلاعیه

Collapse
No announcement yet.

ارسال متغیر با مقدارش

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

    ارسال متغیر با مقدارش

    سلام دوستان
    آیا این کار با برنامه نویسی شدنیه ؟
    ما دو میکرو داریم که در میکروی اول 5 متغییر با نام های a , b , c, d , e داریم که هر کدام میتوانند مقادیر مثبت یا منفی بگیرند و این متغییر ها با پورت سریال به میکروی دوم ارسال میشوند .
    حالا من میخواهم این مقادیر را به صورت زیر ارسال کنم . آیا شدنیه ؟

    مثلا با دریافت کد روبرو مقدار a برابر منفی 25 (25-)شود: a-25

    یا مثلا با دریافت کد روبرو مقدار a برابر مثبت 25 (25+)شود: a+25

    و ...

    لطفا کمک کنید . پیشاپیش ممنون.

    #2
    پاسخ : ارسال متغیر با مقدارش

    اره چرا شدنی نباشه . مشکل کجاست
    انجمن LABVIEW
    http://www.eca.ir/forum2/index.php?board=279.0
    اموزش ميكروكنترلرهاي AVR به زبان ساده
    http://www.eca.ir/forum2/index.php/topic,7070.0.html

    دیدگاه


      #3
      پاسخ : ارسال متغیر با مقدارش

      ممنون از توجهتون.
      برای ارسال مشکلی ندارم ولی چطوری باید دریافتش کنم ؟

      دیدگاه


        #4
        پاسخ : ارسال متغیر با مقدارش

        نوشته اصلی توسط m e h r d a d
        ممنون از توجهتون.
        برای ارسال مشکلی ندارم ولی چطوری باید دریافتش کنم ؟
        سلام دوست عزیز کاری نداره شما این از دستورات ارتباط سریال بفرستید برای اون میکرو واون طرف هم بادستورات دریافت کارکتر دریافت کنید یک نمونه ساده هست مثال زدم قبلا
        http://www.eca.ir/forum2/index.php?topic=96376.msg609686#msg609686
        بخونید اگرمشکلی داشتید بگید دقیقا می خواهید چی کارکنه تابرنامه اش بنویسم واستون بگذارم
        Ali Reza Tarkesh Esfahani

        Yahoo: amt_1390@yahoo.com

        دیدگاه


          #5
          پاسخ : ارسال متغیر با مقدارش

          ممنون مهندس
          برنامه رو خوندم . به نظر شما باید چطور بنویسم ؟ اگه امکان داره یه مثال بزنید .

          قراره فرستنده 5 متغییر را با مقادیرشان به صورت : a-25b11c-40d7e125 بفرسته و در گیرنده پس از دریافت رشته فوق مقدیر زیر را در متغییر ها قرار دهد :
          a=-25
          b=11
          c=-40
          d=7
          e=125

          اگه شما لطف کنی و برای دو یا سه متغییر مثال قرار بدی ، بقیه اش رو خودم کامل میکنم .

          خیلی ممنون از توجهتون.

          دیدگاه


            #6
            پاسخ : ارسال متغیر با مقدارش

            نوشته اصلی توسط m e h r d a d
            ممنون مهندس
            برنامه رو خوندم . به نظر شما باید چطور بنویسم ؟ اگه امکان داره یه مثال بزنید .

            قراره فرستنده 5 متغییر را با مقادیرشان به صورت : a-25b11c-40d7e125 بفرسته و در گیرنده پس از دریافت رشته فوق مقدیر زیر را در متغییر ها قرار دهد :
            a=-25
            b=11
            c=-40
            d=7
            e=125

            اگه شما لطف کنی و برای دو یا سه متغییر مثال قرار بدی ، بقیه اش رو خودم کامل میکنم .

            خیلی ممنون از توجهتون.
            سلام عزیز چشم تا عصرساعت 5براتون می نویسم اینجا قرارمی دهم برنامه هردومیکرو را
            Ali Reza Tarkesh Esfahani

            Yahoo: amt_1390@yahoo.com

            دیدگاه


              #7
              پاسخ : ارسال متغیر با مقدارش

              ممنون دوست عزیز .
              شما هم با کد ویژن کار میکنی ؟
              انشاالله بتونم لطف ات رو جبران کنم .

              دیدگاه


                #8
                پاسخ : ارسال متغیر با مقدارش

                نوشته اصلی توسط m e h r d a d
                ممنون دوست عزیز .
                شما هم با کد ویژن کار میکنی ؟
                انشاالله بتونم لطف ات رو جبران کنم .
                سلام عزیزم
                این برنامه سند من رشته های q w e r راتعریف نکردم خودتون مقدار متغییرمی تونید توش بریزید درصورتی که منفی هست یادتون نره که باید منفی تعریف بشه البته فکرکنم شما اون اعداد به صورت مثال نوشتید وممکن متغییرباشه!!!
                #include <mega32a.h>
                #include <delay.h>
                #include <stdio.h>

                void main(void)
                {

                PORTA=0x00;
                DDRA=0x00;
                DDRB=0x00;
                PORTC=0x00;
                DDRC=0x00;
                PORTD=0x00;
                DDRD=0x00;

                // USART initialization
                // Communication Parameters: 8 Data, 1 Stop, No Parity
                // USART Receiver: Off
                // USART Transmitter: On
                // USART Mode: Asynchronous
                // USART Baud Rate: 9600
                UCSRA=0x00;
                UCSRB=0x08;
                UCSRC=0x06;
                UBRRH=0x00;
                UBRRL=0x33;


                while (1)
                {
                putchar('a'
                puts(q);
                delay_us(10);
                putchar('b'
                puts(w);
                delay_us(10);
                putchar('c'
                puts(e);
                delay_us(10);
                putchar('d'
                puts(r);
                delay_us(10);
                putchar('e'
                puts(t);
                delay_us(10);
                }
                }
                وخوب حالا درگیرنده هم این می شه
                #include <mega32a.h>
                #include <stdio.h>
                #include <delay.h>
                unsigned char X;
                char s[3],w[3],f[3],g[3],h[3];
                void main(void)
                {
                PORTA=0x00;
                DDRA=0x00;
                PORTB=0x00;
                DDRB=0x00;
                PORTC=0x00;
                DDRC=0x00;
                PORTD=0x00;
                DDRD=0x00;
                UCSRA=0x00;
                UCSRB=0x10;
                UCSRC=0x06;
                UBRRH=0x00;
                UBRRL=0x33;
                while (1)
                {

                X=getchar();
                if(X=='a&#039
                gets(s,3);
                if(X=='b'
                gets(w,3);
                if(X=='c&#039
                gets(f,3);
                if(X=='d&#039
                gets(g,3);
                if(X=='e&#039
                gets(h,3);

                }
                }
                درگیرنده درهردفعه که مقادیر a b c d e ارسال شود دریکی از رشته ها سیو می شود

                ولی اگرقرار خودتون داده هارا ارسال کنید بهتر از دستورات printf ویا دستورات scanf استفاده شود با این دستورات قشنگ می تونید عبارت
                a=X که Xمتغییر است می تونید ارسال کنید به میکرو دیگه ودراونجا دریافت کنید
                سوالی بود درخدمتم
                Ali Reza Tarkesh Esfahani

                Yahoo: amt_1390@yahoo.com

                دیدگاه


                  #9
                  پاسخ : ارسال متغیر با مقدارش

                  ممنون . خدا اجرت بده. شرمنده کردی . کاش به جای یدونه دکمه 100 تا دکمه تشکر وجود داشت . :wow:
                  فقط توی این قسمت :
                  if(x==a) {gets(s,3)
                  یعنی اگر ورودی برابر a بود 3 ورودی دیگر هم بگیر ؟

                  دیدگاه


                    #10
                    پاسخ : ارسال متغیر با مقدارش

                    نوشته اصلی توسط m e h r d a d
                    ممنون . خدا اجرت بده. شرمنده کردی . کاش به جای یدونه دکمه 100 تا دکمه تشکر وجود داشت . :wow:
                    فقط توی این قسمت :
                    if(x==a) {gets(s,3)
                    یعنی اگر ورودی برابر a بود 3 ورودی دیگر هم بگیر ؟
                    طول رشته ی aرا می گه عزیزم شما چون عددی که می فرستی 2بیت یک بیت هم نول می شه 3 اگه می خواهی تعداد بیت بیشتر بفرستی یک دونه اضافه تربگذار
                    Ali Reza Tarkesh Esfahani

                    Yahoo: amt_1390@yahoo.com

                    دیدگاه


                      #11
                      پاسخ : ارسال متغیر با مقدارش

                      واقعا ممنون . دستت درد نکنه.

                      دیدگاه

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