ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





کاربران برچسب زده شده

صفحه 1 از 6 123456 آخرین
نمایش نتایج: از 1 به 10 از 55

موضوع: USART

  1. #1
    2012/10/04
    18
    0

    USART

    سلام به همه ی دوستان

    من با میکرو at91sam7x256 کار می کنم که در قسمت usart هر کاری که می کنم کار نمی کنه شرایط به شکل زیر هست:
    نرخ انتقال 9600 بر روی پایه TXD1 با 8 بیت اطلاعات، 1بیت توقف، بیت توازن هم نداره فرکانس کلاک اصلی 48MHz

    با max233 دارم راه میندازم و برنامه هم به صورت زیر است

    #include <Atmel/ioat91sam7x256.h>
    #include "LCD.h"
    #include "delay_us.h"

    void main ()
    {
    //--------------------start up--------------------------
    AT91C_BASE_WDTC->WDTC_WDMR = AT91C_WDTC_WDDIS; // AT91C_WDTC_WDDIS=(1<<15)
    AT91C_BASE_RSTC->RSTC_RMR=0xA5000001;
    //--------------------speed up--------------------------
    AT91C_BASE_CKGR->CKGR_MOR = 0xF01;
    AT91C_BASE_CKGR->CKGR_PLLR = 0x2903FFC;
    AT91C_BASE_PMC->PMC_MCKR = 0x3;
    AT91C_BASE_PMC->PMC_SCER = 0x1;
    //-----------------------------------------------------
    AT91C_BASE_PMC->PMC_PCER = ( 1<<AT91C_ID_PIOA ); // AT91C_ID_PIOA=2
    AT91C_BASE_PMC->PMC_PCER = ( 1<<AT91C_ID_ADC ); // AT91C_ID_ADC=4
    AT91C_BASE_PMC->PMC_PCER = (1<<AT91C_ID_US1); // AT91C_ID_US1=7
    //------------------------------------------------------
    AT91C_BASE_PIOA->PIO_PER = (1<<0|1<<1|1<<2|1<<3);
    AT91C_BASE_PIOA->PIO_OER = (1<<0|1<<1|1<<2|1<<3);
    AT91C_BASE_PIOA->PIO_OWER = (1<<0|1<<1|1<<2|1<<3);
    AT91C_BASE_PIOA->PIO_ODSR = 0x0;

    AT91C_BASE_PIOA->PIO_PDR = (1<<5|1<<6|1<<8|1<<9);
    AT91C_BASE_PIOA->PIO_MDER =(1<<5|1<<6|1<<8|1<<9);
    AT91C_BASE_PIOA->PIO_ASR = (1<<5|1<<6|1<<8|1<<9);
    AT91C_BASE_US1->US_CR=0xC;
    AT91C_BASE_US1->US_MR=0x8D0;
    AT91C_BASE_US1->US_BRGR=0x27;
    AT91C_BASE_US1->US_CR=0x50;

    AT91C_BASE_ADC->ADC_MR = 0x1000010;
    AT91C_BASE_ADC->ADC_CHER = (1<<4);

    lcd_pininit(10,11,12,13,14,15,16,17,18,19);
    lcd_init ();

    while (1)
    {
    AT91C_BASE_ADC->ADC_CR = 0x2;
    while ((AT91C_BASE_ADC->ADC_SR&1<<4)==0);


    if ((AT91C_BASE_US1->US_CSR&0x2)==0x2)
    AT91C_BASE_US1->US_THR = 0xAA;



    lcd_gotoxy(0,0);
    lcd_puts( AT91C_BASE_ADC->ADC_CDR4&0xFF);



    delay_us(200000);
    lcd_clear();
    delay_us(200000);
    }
    }
  2. #2
    2012/10/04
    18
    0

    پاسخ : USART

    قسمت adc کار میکنه و مشکلی نداره ولی قسمت usart کار نمیکنه حتی با xbee هم تست کردم ولی نشد ؟

    دوستان اگه امکان داره راهنمایی کنند
  3. #3
    2010/02/28
    شاهرود
    1,147
    20

    پاسخ : USART

    سلام
    از این هدری که پیوست کردم استفاده کن
    فايل هاي پيوست شده فايل هاي پيوست شده
    • نوع فایل: rar usart.rar (1.7 کیلو بایت, 35 نمايش)
    • نوع فایل: rar usart.rar (1.7 کیلو بایت, 35 نمايش)
    زندگی یعنی امید و حرکت
    کارهایتان را آغاز کنید، توانایی انجام دادنش را بدست خواهید آورد
    سؤالاتی که در انجمن قابل طرح شدن هستند در پیام خصوصی جواب داده نمی شود.
    برای تشکر از دکمه تشکر کنار هر پست استفاده کنید، پست هایی که فقط حاوی تشکر هستند پاک می شوند.
    به دلیل کار بر روی پایاننامه و دفاع، مدتی نیستم!
  4. #4
    2012/10/04
    18
    0

    پاسخ : USART

    ممنون از جوابتون

    این هدر مربوط به keil هست من با IAR کار میکنم البته میشه تبدیل کرد و مشکلی نداره

    فقط سوالم اینجاست که چرا برنامه بالا کار نمیکنه تمام ریجستر ها رو چک کردم و درسته؟
  5. #5
    2010/02/28
    شاهرود
    1,147
    20

    پاسخ : USART

    نقل قول نوشته اصلی توسط ramin00ramin
    ممنون از جوابتون

    این هدر مربوط به keil هست من با IAR کار میکنم البته میشه تبدیل کرد و مشکلی نداره

    فقط سوالم اینجاست که چرا برنامه بالا کار نمیکنه تمام ریجستر ها رو چک کردم و درسته؟
    فک کنم کلاکتون مشکل داره
    آخه هدری که من بالا گذاشتم کلاک کریستال رو به عنوان کلاک میگیره ولی شما خروجی PLL که MHz 48 هست رو کلاک گرفتین (طبق توضیحات پست اولتون)
    در ضمن فک کنم این هدر با IAR هم به راحتی کار کنه
    شما علاوه بر این هدر، هدر AT91SAM7X256.h رو هم انکلود کن و به احتمال 99 درضد کار میکنه چون این هدر ها استاندارد هستند
    زندگی یعنی امید و حرکت
    کارهایتان را آغاز کنید، توانایی انجام دادنش را بدست خواهید آورد
    سؤالاتی که در انجمن قابل طرح شدن هستند در پیام خصوصی جواب داده نمی شود.
    برای تشکر از دکمه تشکر کنار هر پست استفاده کنید، پست هایی که فقط حاوی تشکر هستند پاک می شوند.
    به دلیل کار بر روی پایاننامه و دفاع، مدتی نیستم!
  6. #6
    2012/11/01
    87
    0

    پاسخ : USART

    من هم از sam7x256 استفاده مي کنم.فرق usart0 و usart1 فقط در پايه هاي اضافه تريه که usart1 داره؟
  7. #7
    2010/02/28
    شاهرود
    1,147
    20

    پاسخ : USART

    نقل قول نوشته اصلی توسط gizmo89
    من هم از sam7x256 استفاده مي کنم.فرق usart0 و usart1 فقط در پايه هاي اضافه تريه که usart1 داره؟
    فرقشون از چه نظر؟
    ساختاری؟
    یا راه اندازی؟
    کلا یکی هستن و فرق خاصی ندارن چون هر پایه ای که USATR صفر داره یک هم داره
    توی راه اندازی هم باید فقط پایه های مربوطه رو تنظیم کنی و ببریشون تو حالت کاربرد جانبی
    همین
    زندگی یعنی امید و حرکت
    کارهایتان را آغاز کنید، توانایی انجام دادنش را بدست خواهید آورد
    سؤالاتی که در انجمن قابل طرح شدن هستند در پیام خصوصی جواب داده نمی شود.
    برای تشکر از دکمه تشکر کنار هر پست استفاده کنید، پست هایی که فقط حاوی تشکر هستند پاک می شوند.
    به دلیل کار بر روی پایاننامه و دفاع، مدتی نیستم!
  8. #8
    2012/10/04
    18
    0

    پاسخ : پاسخ : USART

    نقل قول نوشته اصلی توسط علی ایمانی فر
    فک کنم کلاکتون مشکل داره
    آخه هدری که من بالا گذاشتم کلاک کریستال رو به عنوان کلاک میگیره ولی شما خروجی PLL که MHz 48 هست رو کلاک گرفتین (طبق توضیحات پست اولتون)
    در ضمن فک کنم این هدر با IAR هم به راحتی کار کنه
    شما علاوه بر این هدر، هدر AT91SAM7X256.h رو هم انکلود کن و به احتمال 99 درضد کار میکنه چون این هدر ها استاندارد هستند
    نه کلاک مشکلی نداره در ریجستر AT91C_BASE_US1->US_MR=0x8D0 کلاک usart بر 8 تقسیم میشه

    نحوه ی نوشت ریجستر در IAR و keil با هم متفاوته به همین خاطر هدر باید اصلاح بشه
  9. #9
    2007/04/05
    967
    3
    gbg

    پاسخ : USART

    براي استفاده rs485 مثال يا راهنمايي ندارين؟
  10. #10
    2010/02/28
    شاهرود
    1,147
    20

    پاسخ : USART

    نقل قول نوشته اصلی توسط gbg
    براي استفاده rs485 مثال يا راهنمايي ندارين؟
    من در حال حاضر چیزی برای RS485 ندارم و تا حالا هم کار نکردم باهاش فقط میدونم RS232 هست که به صورت تفاضلی کار میکنه تا نویز زیاد روش تاثیر نذاره
    میگردم اگه پیدا کردم حتما برات میذارم
    زندگی یعنی امید و حرکت
    کارهایتان را آغاز کنید، توانایی انجام دادنش را بدست خواهید آورد
    سؤالاتی که در انجمن قابل طرح شدن هستند در پیام خصوصی جواب داده نمی شود.
    برای تشکر از دکمه تشکر کنار هر پست استفاده کنید، پست هایی که فقط حاوی تشکر هستند پاک می شوند.
    به دلیل کار بر روی پایاننامه و دفاع، مدتی نیستم!
صفحه 1 از 6 123456 آخرین
نمایش نتایج: از 1 به 10 از 55

موضوعات مشابه

  1. پاسخ: 13
    آخرين نوشته: 2018/11/19, 16:38
  2. چند فرستنده و یک گیرنده در USART (سیستم نوبت دهی بانک با USART)
    توسط ko-mohammad در انجمن میکروکنترلرهای AVR
    پاسخ: 7
    آخرين نوشته: 2014/04/22, 17:17
  3. usart
    توسط arh8080 در انجمن میکروکنترلرهای AVR
    پاسخ: 1
    آخرين نوشته: 2013/08/14, 12:44
  4. usart
    توسط 1morteza در انجمن میکروکنترلرهای AVR
    پاسخ: 7
    آخرين نوشته: 2011/11/25, 23:28
  5. usart
    توسط captive در انجمن میکروکنترلرهای AVR
    پاسخ: 1
    آخرين نوشته: 2011/09/29, 00:01

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •