اطلاعیه

Collapse
No announcement yet.

مشکل کار با پورت COM در AVR

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

    مشکل کار با پورت COM در AVR

    سلام.
    من تازه کار با AVR رو شروع کردم. از یه مقاله ی فارسی که دانلود کرده بودم شروع کردم.

    توش ی پروژه برای ارتباط با کامپیوتر از طریق پورت (COM(RS232 F بود و با MAX232 کار میکنه. کاملا درستش کردم.
    ولی به جای اینکه !!!Hello World چاپ کنه چرند چاپ می کنه.

    اگه می شه کمکم کنید و منبع مطمئن برای یادگیری AVR بهم معرفی کنید. اگه ام PDF بود ممنون میشم.

    با تشکر.

    کدش اینه:


    unsigned char a;
    a=0x02; 
     a=PINB&a; 
     if(a = = 0x02)
    printf("Hello World

    #2
    پاسخ : مشکل کار با پورت COM در AVR

    اینجا که چیزی معلوم نیست!! oo:
    اگر ندانی کجا میروی هر راهی تو را باخود خواهد برد.

    دیدگاه


      #3
      پاسخ : مشکل کار با پورت COM در AVR

      دو تا احتمال وجود داره:
      1- تنظیمات پورت COM با تنظیمات سریال میکرو فرق می کنه
      2-شما دارید معادل هگزادسیمال عبارت Hello World! رو توی صفحه کامپوترتون می بینید که در این حالت باید نحوه نمایش رو به ASCII تبدیل کنید
      Amir Rahafrooz
      Graduate Research Assistant
      University of Denver
      Department of Electrical and Computer Engineering
      Denver, CO 80208
      amir.rahafrooz@ieee.org

      دیدگاه


        #4
        پاسخ : مشکل کار با پورت COM در AVR

        در ادامه ی صحبت جناب ره افروز باید بگم در استفاده از پورت سریال نباید از تنظیمات داخلی میکرو استفاده کرد. برای این کار تمام فیوزبیت ها باید مقدار یک را داشته باشد. یعنی فقط کافی هست در قسمت تنظیمات تیک program fusebit را بزنی و کاری هم به بقیه فیوزبیت ها نداشته باشی :nice:

        دیدگاه


          #5
          پاسخ : مشکل کار با پورت COM در AVR

          سلام :

          حق با دوستان است .
          اگر اطلاعات به پورت سریال ارسال می گردد یعنی ارتباط شما شما سالم است منتها 2 دلیل عمده دارد که درست نمی نویسد :

          1- تنظیم نبودن Baud Rate که در این مورد هم باید میکرو را تنظیم کنی و هم ترمینال سمت کامپیوتر را ( مثلا هر دو را روی 9600 تنظیم کن )
          2- میکرو دارد از اسیلاتور داخلی استفاده می کند و اگر کریستال به آن متصل است مقدار کریستال را تعیین نکرده اید ( همان مشکل فیوز بیتها )

          مطمئن باش خارج از این موارد نمی باشد
          موفق باشی

          دیدگاه


            #6
            پاسخ : مشکل کار با پورت COM در AVR

            نوشته اصلی توسط مهرداد نصر
            در ادامه ی صحبت جناب ره افروز باید بگم در استفاده از پورت سریال نباید از تنظیمات داخلی میکرو استفاده کرد. برای این کار تمام فیوزبیت ها باید مقدار یک را داشته باشد. یعنی فقط کافی هست در قسمت تنظیمات تیک program fusebit را بزنی و کاری هم به بقیه فیوزبیت ها نداشته باشی :nice:
            من منظور شما رو نفهمیدم! مگه میشه توو ارتباط سریال به تنظیمات داخلی میکرو کاری نداشته باشیم؟ :eek:
            بایست تمام تنظیمات uartمیکرو با پورت کام pc یکی باشن تا اطلاعات درست ارسال بشه. اگه از ترمینال خود کامپایلر استفاده میشه با تنظیم اطلاعات اون در قسمت setting طبق uart میکرو مشکل حل میشه و یه نکته دیگه هم که اقای ره افروز اشاره کردن دریافت اطلاعات به صورت Hex هست که میشه با فعال کردن دکمه ascii دریافت رو به صورت عادی داشت.
            اگر ندانی کجا میروی هر راهی تو را باخود خواهد برد.

            دیدگاه


              #7
              پاسخ : مشکل کار با پورت COM در AVR

              منم دقیقاً همین مشکل رو دارم، هم Baud Rate در دو طرف یکسان است هم بصورت اسکی امتحان کردم ولی وقتی مثلاً می خوام کاراکتر a به کام
              یوتر ارسال بشه یک سری اعداد نامفهوم روی مانیتور می بینم (در حالت ASCII) و وقتی به حالت HEX میرم یک سری اعداد نامفهوم دیگه می بینم. از طرفی کریستال و همه چیزای دیگه رو هم 500 بار چک کردم و باز هم همین جواب رو میگیرم. جونه بچه تون کمک کنید کلافه شدم! :angry:

              دیدگاه


                #8
                پاسخ : مشکل کار با پورت COM در AVR

                سلام :

                آیا اتصال GND رو وصل کردید ؟

                یعنی RX , Tx , GND !!!!
                ممکنه اتصال زمین وصل نباشد .
                این بخش را هم چک کنید !
                اگر هنوز مشکل دارید تغذیه آی سی سریال ( max232) را هم چک کنید 15 به ْGND و 16 به Vcc

                ان شاالله که مشکلتون حل بشه

                دیدگاه


                  #9
                  پاسخ : مشکل کار با پورت COM در AVR

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

                  دیدگاه


                    #10
                    پاسخ : مشکل کار با پورت COM در AVR

                    نوشته اصلی توسط general
                    salam
                    man in moshkelo brai robot emdadgar dashtam albate micro man avr bod
                    brai hal moshkelet age micro shoma avr man mitonam komaket konam :nerd:
                    سلام.
                    دوست عزیز قانون فروم این هست که پست ها به فارسی ارسال بشه نه انگلیسی نه فینگلیش، لطفا پستتون رو ویرایش کنید.
                    شأن انسان در ايمان و هجرت و جهاد است و هجرت، مقدمهآ‌ي جهاد فيآ‌سبيلآ‌الله.
                    هجرت، هجرت از سنگينيآ‌هاست و جاذبهآ‌هايي كه تو را به خاك ميآ‌چسباند.
                    چكمهآ‌هايت را بپوش، رهآ‌توشهآ‌ات را بردار و هجرت كن.

                    دیدگاه


                      #11
                      پاسخ : مشکل کار با پورت COM در AVR

                      آقا ممنون از راهنماییتون، مشکلم حل شد.

                      دیدگاه


                        #12
                        پاسخ : مشکل کار با پورت COM در AVR

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

                        عالمی دیگر بباید ساخت و از نو آدمی
                        پردازش تصویر با FPGA از صفر تا انتها
                        http://www.eca.ir/forum2/index.php?topic=74299.0

                        دیدگاه


                          #13
                          پاسخ : مشکل کار با پورت COM در AVR

                          با عرض سلام خدمت دوستان
                          من هم همین مشکل رو دارم سعی کردم مدارم رو به نحوی که دوستان راهنمایی کردند اصلاح کنم یعنی همه فیوزبیت ها یک هستند اتصالات Gnd و Rxd و Txd برقرارند و منبع تغذیه هم وصل هست ولی نتیجه دلخواه رو مثل همین دوستی که این تاپیک رو درست کرده نمی گیرم
                          گفتم شاید کدهایی که نوشتم ایراد داره
                          اگه می شه لطف کنید به کدهای زیر نگاهی بندازین و ایرادش رو بگین ممنون می شم

                          #include <mega16.h>
                          #include <delay.h>
                          #include <stdio.h>
                          #include <stdlib.h>
                          #include <lcd.h>
                          #asm
                          .equ __lcd_port=0x1B
                          #endasm
                          char a[10];
                          void main(void)
                          {

                          lcd_init(16);
                          lcd_gotoxy(0,0);
                          lcd_putsf("Waiting ..."

                          UCSRA=0x00;
                          UCSRB=0x90;
                          UCSRC=0x86;
                          UBRRH=0x00;
                          UBRRL=0x67;

                          gets(a,10);

                          lcd_clear();
                          lcd_gotoxy(0,0);
                          lcd_putsf("String:"
                          lcd_gotoxy(0,1);
                          lcd_puts(a);

                          while(1);
                          }

                          این کدهای هست که تو کد ویژن نوشتم کدهایی هم که تو ویژوال بیسیک نوشتم در زیر هست

                          Private Sub Form_Load()
                          MSComm1.Settings = "9600,N,8,1"
                          MSComm1.CommPort = 1
                          MSComm1.PortOpen = True
                          MSComm1.Output = "Hello man!" + Chr(16)
                          End Sub
                          آدمی از عالم خاکی نمی آید بدست

                          عالمی دیگر بباید ساخت و از نو آدمی
                          پردازش تصویر با FPGA از صفر تا انتها
                          http://www.eca.ir/forum2/index.php?topic=74299.0

                          دیدگاه


                            #14
                            پاسخ : مشکل کار با پورت COM در AVR

                            سلام
                            اولا برای تست اینکه میکرو را به درستی روی کریستال خارجی گذاشتید،بیاید و توی برنامه یه پایه میکرو رو صفر و یک کنید و بدید به یه LED،حالا این پایه زمانی که کریستال هست باید روشن و خاموش شه و زمانی که کریستال رو بردارید دیگه نباید این اتفاق بیفته
                            این برنامه اصلا چیزی روی پورت سریال مینویسه؟؟ اینها که نوشتید برای نوشتن روی LCD هست
                            موفق باشید
                            در دیر مغان آمد یارم قدحی در دست
                            مست از می می خواران از نرگس مستش مست

                            دیدگاه


                              #15
                              پاسخ : مشکل کار با پورت COM در AVR

                              نوشته اصلی توسط حامد پروشانی
                              سلام :

                              حق با دوستان است .
                              اگر اطلاعات به پورت سریال ارسال می گردد یعنی ارتباط شما شما سالم است منتها 2 دلیل عمده دارد که درست نمی نویسد :

                              1- تنظیم نبودن Baud Rate که در این مورد هم باید میکرو را تنظیم کنی و هم ترمینال سمت کامپیوتر را ( مثلا هر دو را روی 9600 تنظیم کن )
                              2- میکرو دارد از اسیلاتور داخلی استفاده می کند و اگر کریستال به آن متصل است مقدار کریستال را تعیین نکرده اید ( همان مشکل فیوز بیتها )

                              مطمئن باش خارج از این موارد نمی باشد
                              موفق باشی
                              من اطلاعاتم در این زمینه کم هست
                              یک سری سوال در مورد مدار max232 دارم که ممنون می شم جواب بدین
                              آیا برای اتصال کریستال خارجی باید فیوز بیت ها رو تغییر می دادم؟
                              آیا مقدار کریستال خارجی که استفاده می کنم باعث شده تا من نتونم جواب بگیرم ؟ (16Mhz)
                              من برای تنظیم Baud Rate میکروکنترلر از کد UCSRC=0x86 استفاده کردم برای تنظیم baud Rate پورت کامپیوتر چی کار باید بکنم؟
                              آدمی از عالم خاکی نمی آید بدست

                              عالمی دیگر بباید ساخت و از نو آدمی
                              پردازش تصویر با FPGA از صفر تا انتها
                              http://www.eca.ir/forum2/index.php?topic=74299.0

                              دیدگاه

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