اطلاعیه

Collapse
No announcement yet.

راه اندازی واحد USART در AT91SAM7S64 و ارسال و دریافت با HM-TR

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

    #16
    پاسخ : راه اندازی واحد USART در AT91SAM7S64 و ارسال و دریافت با HM-TR

    بازم نشد :mrgreen:.یا متغیر b رو نشون بده یا اینکارو بکن:دیگه اصلا به متغییر b هم نیاز نداری(اگه فقط میخوای نشونش بدی)

    for(i=0;i<6;i++)
    {
    a=getkey();
    j=6-i;


    lcd_gotoxy(2,j);
    lcd_putchar(a);
    delay_ms(100);

    {

    در ضمن حلقه for باید تا 6 باشه .اشتباه کردم چون از صفر تا 5 که بشماره میشه 6 :mrgreen:

    دیدگاه


      #17
      پاسخ : راه اندازی واحد USART در AT91SAM7S64 و ارسال و دریافت با HM-TR

      سلام

      الان ابتدا 6 عدد از کاراکتر های ||| ||| ||| ||| ||| ||| می شود و سپس ||| ||| ||| ||| ||| m و سپس ||| ||| ||| ||| a ||| و سپس ||| ||| s ||| ||| ||| و ...

      با سپاس
      http://vz.iminent.com/vz/39a77668-19...h-fishing.giff

      دیدگاه


        #18
        پاسخ : راه اندازی واحد USART در AT91SAM7S64 و ارسال و دریافت با HM-TR

        نوشته اصلی توسط Soodi
        سلام

        الان ابتدا 6 عدد از کاراکتر های ||| ||| ||| ||| ||| ||| می شود و سپس ||| ||| ||| ||| ||| m و سپس ||| ||| ||| ||| a ||| و سپس ||| ||| s ||| ||| ||| و ...

        با سپاس
        مقدار رو قبل از اینکه بدی به LCD یا هر چیز دیگه بریز توی متغیر ببین چیه
        بعد به میکرو بفهمون اگه این کارکتر اومد نشونش نده
        نوشته اصلی توسط شهریار رجب زاده
        گفته بودم که اینا یه جوریند
        یه کاری کن
        فرستنده پشت سر هم دیتا بفرسته
        بعد از چند لحظه کل مدار گیرنده رو روشن کن ببین مشکلی هست یا نه
        راستی دقیقا چه اطلاعاتی رو میخوای بفرستی بگو شاید کارت راحت تر شد
        این کار ها قراره که مشخص کنه که این ماژول در حالت بی کاری دقیقا چی میگیره؟
        مطمئنم ولش کنی هر چی میخواد میگیره
        این برنامه هم نشون میده که باید این ماژول همیشه کنترل بشه و گرنه دیتا خروجی مشخص نیست چی باشه
        نگفتی برای چه کاری میخوای؟
        انتقال اطلاعات یا کنترل از راه دور؟

        دیدگاه


          #19
          پاسخ : راه اندازی واحد USART در AT91SAM7S64 و ارسال و دریافت با HM-TR

          سلام

          هنگامی که فرستنده ارسالی ندارد ، گیرنده هیچ داده ای دریافت نمیکند و LED روی ماژول نیز خاموش می باشد ، من برای انتقال عدد و متن می خواهم استفاده کنم مثلا انتقال اطلاعات دریافتی از واحد ADC میکرو

          با سپاس
          http://vz.iminent.com/vz/39a77668-19...h-fishing.giff

          دیدگاه


            #20
            پاسخ : راه اندازی واحد USART در AT91SAM7S64 و ارسال و دریافت با HM-TR

            سلام

            من از ارسال و دریافت متن منصرف شدم
            می خواهم که عدد ارسال و دیافت کنم ، ولی با برنامه خودم تا یک رقم بیشتر نمیتوانم ارسال کنم ، اگر بیشتر از یک رقم شد ، عدد به عدد می فرستد

            با سپاس
            http://vz.iminent.com/vz/39a77668-19...h-fishing.giff

            دیدگاه


              #21
              پاسخ : راه اندازی واحد USART در AT91SAM7S64 و ارسال و دریافت با HM-TR

              با سلام.من با این ماژول کار نکردم اما یکبار میخواستم از توی کامپیوتر ali رو ارسال کنم به میکرو اما دقیقا همینجور که میگید فقط i رو روی lcd نشون میداد چون توی سه مرحله میفرستاد .در نهایت هر کاری میکردم نمیشد حتی توی حلقه for هم گذاشتم.اخر مجبور شدم 3 مرتبه پشت سر هم getkey بگیرم و بعد دونه دونه روی lcd نشون میدم ولی حلقه for من یک فرقی با ماله شما داشت و این بود که اصلا روی lcd چرت و پرت نشون میداد اما مال شما حداقل کارکتر ها رو نشون میده!

              دیدگاه


                #22
                پاسخ : راه اندازی واحد USART در AT91SAM7S64 و ارسال و دریافت با HM-TR

                سلام

                این فیلم گرفته شده از ماژول ها :

                لینک دانلود :http://www.up98.org/upload/server1/01/e/np3gnufyd8cusbgwcur.mp4

                این هم برنامه :

                گیرنده :

                #include <AT91SAM7X256.H>
                #include <delay.h>
                #include <usart.h>
                #include <stdio.h>

                #define LCD_PORT_B
                #define LCD_RS 0
                #define LCD_E 1
                #define LCD_DB4 5
                #define LCD_DB5 4
                #define LCD_DB6 3
                #define LCD_DB7 2
                #include <lcd.h>

                int main (void)
                {
                char a,b,c;

                lcd_init();
                lcd_clear();
                cursor_off();
                lcd_gotoxy(1,1);
                lcd_putsf("Resived Data With"
                lcd_gotoxy(2,1);
                lcd_putsf(" ++** HM-TR ++**"
                usart0_init(2,9600);
                delay_ms(500);

                while (1)
                {
                lcd_clear();
                cursor_off();
                lcd_gotoxy(1,1);
                lcd_putsf("Resived Data :"
                a = getkey();
                b = getkey();
                c = getkey();
                lcd_gotoxy(2,1);
                lcd_putchar(a);
                lcd_gotoxy(2,3);
                lcd_putchar(b);
                lcd_gotoxy(2,5);
                lcd_putchar(c);
                delay_ms(100);
                }
                }

                فرستنده :

                #include <AT91SAM7S64.H>
                #include <delay.h>
                #include <usart.h>
                #include <stdio.h>

                #define LCD_PORT_A
                #define LCD_RS 30
                #define LCD_E 29
                #define LCD_DB4 25
                #define LCD_DB5 26
                #define LCD_DB6 27
                #define LCD_DB7 28
                #include <lcd.h>

                int main (void)
                {

                lcd_init();
                lcd_clear();
                cursor_off();
                lcd_gotoxy(1,1);
                lcd_putsf("Sending Data With"
                lcd_gotoxy(2,1);
                lcd_putsf(" ++** HM-TR ++**"
                usart0_init(2,9600);
                delay_ms(500);

                while (1)
                {
                lcd_clear();
                cursor_off();
                lcd_gotoxy(1,1);
                lcd_putsf("Sending Data :"
                printf("123\n"
                delay_ms(100);
                }
                }
                http://vz.iminent.com/vz/39a77668-19...h-fishing.giff

                دیدگاه


                  #23
                  پاسخ : راه اندازی واحد USART در AT91SAM7S64 و ارسال و دریافت با HM-TR

                  نوشته اصلی توسط Soodi
                  سلام

                  من از ارسال و دریافت متن منصرف شدم
                  می خواهم که عدد ارسال و دیافت کنم ، ولی با برنامه خودم تا یک رقم بیشتر نمیتوانم ارسال کنم ، اگر بیشتر از یک رقم شد ، عدد به عدد می فرستد

                  با سپاس
                  دقیقا نگرفتم چی شد؟
                  عدد به عدد یعنی شماری اسکی رو میگیری؟

                  دیدگاه


                    #24
                    پاسخ : راه اندازی واحد USART در AT91SAM7S64 و ارسال و دریافت با HM-TR

                    printf("123\n"

                    \n خودش شامل دو کارکتر 10 و 13 میشه این رو حذف کن.بعضی جا هم delay بذار یکم سرعت کار کم بشه

                    دیدگاه


                      #25
                      پاسخ : راه اندازی واحد USART در AT91SAM7S64 و ارسال و دریافت &#

                      سلام

                      من طبق روش زیر به درستی جواب گرفتم

                      در ابتدا با دستور printf یک کلمه رو به طور مثال soodi که دارای 5 حرف می باشد ، ارسال می کنیم و در برنامه گیرنده 5 متغیر از نوع char تعیین کرده و با دستور getkey هر کدام از حرف های دریافت شده را در یکی از متغیر ها می ریزیم زیرا طرز کار این ماژول به این صورت است که طی چند مرحله یک کلمه رو ارسال می کند و در پایان به صورت جدا جدا هر کدام از متغیر های حامل حروف رو به ترتیب روی LCD نمایش می دهیم

                      ******** ولی یک مشکل :
                      از این روش که من نمیتوانم برای انتقال اطلاعات دریافتی از واحد ADC کمک بگیرم و این برنامه ای که توضیح دادم فقط برای نمایش اطلاعات دریافتی روی LCD بود و نمیتوان از این اطلاعات در برنامه استفاده کرد زیرا جدا جدا میباشد
                      پس من چکار کنم ؟؟؟
                      آیا با دستور sendchar می توان کاری کرد


                      با سپاس
                      http://vz.iminent.com/vz/39a77668-19...h-fishing.giff

                      دیدگاه


                        #26
                        پاسخ : راه اندازی واحد USART در AT91SAM7S64 و ارسال و دریافت با HM-TR

                        حالا این ماژول های RFM12 و ... چطوریه ؟؟؟؟؟؟؟؟؟؟؟؟؟
                        http://vz.iminent.com/vz/39a77668-19...h-fishing.giff

                        دیدگاه


                          #27
                          پاسخ : راه اندازی واحد USART در AT91SAM7S64 و ارسال و دریافت با HM-TR

                          آقا جان شما ADC ت چند بیتیه؟
                          خوب اون رو توی دو بایت میفرستی ولی با این تفاوت که دیگه تبدیل اسکی نمیکنی خود مقدار رو میفرستی خودش رو هم میخونی
                          RFM12 هم بحث مفصلیه اگه حالش رو داشتی و دنبال راه انداختنش باشی بدون اینکه به کمک بقیه نیاز داشته باشی مشکلی نیست ولی اگه مثل HM-TR اینقدر مشکل داشتی بزار برای یه وقت دیگه این ماژول ها با SPI راه میفتند 16 bit ای هست SPI این ها
                          بردشون بالاست نسبت به قیمتش جفتی 12 تومان تو اصفهان خوبه سریعه 115.2Kbps و ...
                          البته مثل اینکه خطای HM-TR نسبتا زیاده
                          من میخوام روی RFM12b کار کنم ولی توی آنتنش موندم :mrgreen:

                          دیدگاه


                            #28
                            پاسخ : راه اندازی واحد USART در AT91SAM7S64 و ارسال و دریافت با HM-TR

                            شکر خدا adc عدد میده.شما وقتی توی ماشین حساب میزنی 1 بعد میزنی 2 ،ماشین حساب 12 در نظر میگیره با اینکه اعداد تکه تکه هست.اینم همونه.شما باید عدد اخر رو در 10 ضرب کنی بعلاوه عدد بعد کنی.جواب باز ضرب 10 و بعلاوه عدد بعد و الی اخر

                            دیدگاه


                              #29
                              پاسخ : راه اندازی واحد USART در AT91SAM7S64 و ارسال و دریافت با HM-TR

                              سلام

                              آقای رجب زاده من با این ماژول با AVR کار کردم و بدون هیچ مشکلی راه اندازی و ارسال و دریافت داشتم چون اونجا با بسکام یک String رو میفرستادیم و در گیرنده می گرفتیم الان چون تازه با ARM شروع به کار کردم یکم مشکل دارم

                              راستی اگر گیرنده رو به کامپیوتر متصل کنم دیگه اینطوری نیست یعنی تکه تکه نیست

                              آقای روزیطلب اگر لطف کنید و یکم بیشتر توضیح دهید خیلی خیلی ممنون میشوم


                              با سپاس
                              http://vz.iminent.com/vz/39a77668-19...h-fishing.giff

                              دیدگاه


                                #30
                                پاسخ : راه اندازی واحد USART در AT91SAM7S64 و ارسال و دریافت با HM-TR

                                کامپیوتر عقلش بیشتره :mrgreen:
                                وقتی شما printf("ali) بذاری رو کامپیوتر ali نشون میده اما اگه با کامپیوتر بفرستی میکرو با getkey فقط یک کاراکتر میتونه بگیره
                                شما فرض کن عدد 123 رو میخوای بفرستی
                                وقتی میکرو میگیره میشه 1 و 2 و 3
                                حالا شما میای 1 رو در 10 ضرب میکنی بعلاوه عدد بعد یعنی 2 میکنی که میشه 12
                                حالا دوازده رو باز در 10 ضرب میکنی بعلاوه عدد بعدی یعنی 3 میکنی که میشه 123

                                دیدگاه

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