NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 3309 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
نمایش نتایج: از 1 به 12 از 12

موضوع: کمک فوری, توضیح مراحل راه اندازی UART در STM32f103ret6

  1. #1
    کاربر فعال
    تاریخ عضویت
    Jul 2012
    نوشته ها
    101
    تشکر
    23
    تشکر شده 3 بار در 1 پست

    پیش فرض کمک فوری, توضیح مراحل راه اندازی UART در STM32f103ret6

    با سلام
    دوستان امکانش هست مراحل راه اندازی سریال در این سری از آرم رو برام شرح دهید،بنده در کامپایل کیل و با استفاده از کتابخانه CMSIS شروع به نوشتن کد ها کردم ولی دیتایی از سریال من ارسال نمیشود با این حال که بعضی از دوستان توضیح دادنند ولی نتیجه ای حاصل نشد من TX میکرو رو به آی سی max232 وصل کردم و به سریال کامپیوترم,و در ضمن من نمیدونم کد ارسال مثلا یک کارکتر را در جای درستی نوشتم؟
    اصلا چطور میتونم سریال را راه اندازی کنم,تازه کار هستم و به صورت خودآموز شروع کردم لطفا راهنمایی کنید کدم رو هم میخوام در ضمیمه قرار بدهم ولی هجم فایل من 19mbو خطا میگیرد که باید زیر 3mb باشد.
    فقط چشمک زن میکروم رو فعال کردم
    و خیلی پروژه عجله ای میباشد
    با تشکر

  2. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نوشته ها
    Many
     

  3. #2
    کاربر فعال
    تاریخ عضویت
    Jul 2012
    نوشته ها
    101
    تشکر
    23
    تشکر شده 3 بار در 1 پست

    پیش فرض

    دوستان لطفا پاسخ گو باشید سرچ هم کردم ولی پاسخی نگرفتم

  4. #3
    کاربر فعال
    تاریخ عضویت
    Jul 2012
    نوشته ها
    101
    تشکر
    23
    تشکر شده 3 بار در 1 پست

    پیش فرض

    و اگر باید تنظیماتی از قبیل کلاک در کیل انجام دهم بی اطلاع میباشم؛در ضمن گاهی دیتایی بر روی سریال کامپیوتر مشاهده میکنم که با دیتای ارسالی مطابقت ندارد بادرید درست ست شده ولی درباره فرکانس gpio چیزی نمیدانم
    ممنون

  5. #4
    کاربر فعال
    تاریخ عضویت
    Feb 2012
    نام
    مصطفی
    نوشته ها
    273
    تشکر
    195
    تشکر شده 128 بار در 93 پست

    پیش فرض

    برای راه اندازی پورت سریال باید کلاک مربوط به پورت سریال و پین های مربوط به پورت و همچنین کلاک قسمت Alternat function رو فعال کنید و پین مربوط به TX رو روی حالت Alternat قرار بدید.

  6. #5
    کاربر فعال
    تاریخ عضویت
    Jul 2012
    نوشته ها
    101
    تشکر
    23
    تشکر شده 3 بار در 1 پست

    پیش فرض

    ممنون میشم مراحل انجام دادن این کارهارو برام توضیح بدید و چطور این کار رو بکنم البته الان خودمم تحقیق میکنم رو مطالبی که گفتید ولی زمانم خیلی کمه.
    من یک نمونه کد برای hy_ministm32v را گرفتم و روی بردم میریزم کار نمیکنه مربوط به سریاله,
    با سپاس

    - - - Updated - - -

    این کد مربوط به تنظیمات سریالم
    void USART_Configuration(void)
    {
    GPIO_InitTypeDef GPIO_InitStructure;
    USART_InitTypeDef USART_InitStructure;


    RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA | RCC_APB2Periph_USART1,ENABLE);
    /*
    * USART1_TX -> PA9 , USART1_RX -> PA10
    */
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(GPIOA, &GPIO_InitStructure);


    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(GPIOA, &GPIO_InitStructure);


    USART_InitStructure.USART_BaudRate = 115200;
    USART_InitStructure.USART_WordLength = USART_WordLength_8b;
    USART_InitStructure.USART_StopBits = USART_StopBits_1;
    USART_InitStructure.USART_Parity = USART_Parity_No;
    USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
    USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;


    USART_Init(USART1, &USART_InitStructure);
    USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);
    USART_ITConfig(USART1, USART_IT_TXE, ENABLE);
    USART_Cmd(USART1, ENABLE);
    }

  7. #6
    کاربر فعال
    تاریخ عضویت
    Jul 2012
    نوشته ها
    101
    تشکر
    23
    تشکر شده 3 بار در 1 پست

    پیش فرض

    لطفا شفاف و کاربردی توضیح بدید ممنون,چون تازه کار هستم با کلی گویی به سختی به نتیجه میرسم ممنون
    مثلا این "
    کلاک قسمت Alternat function" کجاست چطور تنظیم میشه مگه تو خود کدهایCMSIS فعال نمیشود؟


  8. #7
    کاربر فعال
    تاریخ عضویت
    Feb 2012
    نام
    مصطفی
    نوشته ها
    273
    تشکر
    195
    تشکر شده 128 بار در 93 پست

    پیش فرض

    کد:
    RCC->APB2ENR|=RCC_APB2ENR_AFIOEN
    این دستور برای فعال کردن کلاک قسمت Alternate function. البته اگه پین ها رو remap نکرده باشید به این قسمت نیاز نیست.
    شما اول توی دیباگر ببین که پورت سریال فعال میشه یا نه. بعد توی همون دیباگر یه دیتایی رو بفرست و توی ترمینال خود دیباگر اون رو ببین اگه همه چی درست بود بعد برو سراغ سخت افزار.

  9. تشکرها از این نوشته :


  10. #8
    کاربر فعال
    تاریخ عضویت
    Jul 2012
    نوشته ها
    101
    تشکر
    23
    تشکر شده 3 بار در 1 پست

    پیش فرض

    ممنون ,ولی من کار با دیباگر رو هم بلد نیستم
    الان تو سخت افزار من دیتام ارسال میشه ولی دیتایی نیست که من ارسال میکنم مثلا من 55 هگز رو ارسال میکنم تو سریال e1 رو میبینم علت چیست؟

  11. #9
    کاربر فعال
    تاریخ عضویت
    Jul 2012
    نوشته ها
    101
    تشکر
    23
    تشکر شده 3 بار در 1 پست

    پیش فرض

    بالاخره با موفقیت کارکترهای من ارسال شدند

    کریستالی که من گذاشته بودم 12 بود و چون نمیدونم و کسی هم اینجا راهنمایی دقیق نمیکنه نمیدونستم این 12 رو چطور به سیستم بفهمونم عرض پالسهای دیتای من درست نبود با این حال که شکل دیتام درست بود با تغییر کریستال به 8 درست شد
    در قسمت target option هر چقدر 12 میزدم درست نمیشد
    اما الان دستور پرینتف باعث میشه چشمک زنم از کار بیفته و دیتایی ارسال نشه فقط با دستور('USART_SendData(USART1,'T میتونم کار کنم

  12. #10
    کاربر فعال
    تاریخ عضویت
    Mar 2010
    نوشته ها
    236
    تشکر
    101
    تشکر شده 246 بار در 163 پست

    پیش فرض

    در option تیک use microlib رو بزنید . کد زیر رو به برنامه اضافه کنید تا پرینت هم کار کنه
    کد:
     #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
    PUTCHAR_PROTOTYPE
    {
        while (USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET);
        USART_SendData(USART1, (uint8_t) ch);
        return ch;
    }
    برای تنظیمات کلاک باید داخل فایل system_stm32f10x فرکانس کاری میکرو تنظیم کنید ( به صورت پیش فرض روی 8 مگ تنظیم شده ) و بعد عدد کریستال رو داخل
    option>c
    قسمت define اینو وارد کنید
    HSE_VALUE=16000000

  13. تشکرها از این نوشته :


  14. #11
    کاربر فعال
    تاریخ عضویت
    Feb 2012
    نام
    مصطفی
    نوشته ها
    273
    تشکر
    195
    تشکر شده 128 بار در 93 پست

    پیش فرض

    نقل قول نوشته اصلی توسط Raha323 نمایش پست ها
    ممنون ,ولی من کار با دیباگر رو هم بلد نیستم
    الان تو سخت افزار من دیتام ارسال میشه ولی دیتایی نیست که من ارسال میکنم مثلا من 55 هگز رو ارسال میکنم تو سریال e1 رو میبینم علت چیست؟
    برای استفاده از دیباگر از آدرس
    کد:
    project -> Options for target ...
    در سربرگ debug میتونید تعیین کنید که عملیات دیباگ کردن از روی بور انجام شود یا از سیمولاتور خود نرم افزار استفاده بشه.
    برای ورود به دیباگر هم از Ctrl+F5 استفاده کنید.

  15. #12
    کاربر فعال
    تاریخ عضویت
    Jul 2012
    نوشته ها
    101
    تشکر
    23
    تشکر شده 3 بار در 1 پست

    پیش فرض ممنونم جواب داد کداتون ممنون از راهنمایی تون

    نقل قول نوشته اصلی توسط mrm نمایش پست ها
    در option تیک use microlib رو بزنید . کد زیر رو به برنامه اضافه کنید تا پرینت هم کار کنه
    کد:
     #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
    PUTCHAR_PROTOTYPE
    {
        while (USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET);
        USART_SendData(USART1, (uint8_t) ch);
        return ch;
    }
    برای تنظیمات کلاک باید داخل فایل system_stm32f10x فرکانس کاری میکرو تنظیم کنید ( به صورت پیش فرض روی 8 مگ تنظیم شده ) و بعد عدد کریستال رو داخل
    option>c
    قسمت define اینو وارد کنید
    HSE_VALUE=16000000

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

  1. پاسخ: 6
    آخرين نوشته: 19-02-2017, 19:02
  2. پاسخ: 66
    آخرين نوشته: 11-06-2016, 22:08
  3. [سوال] راه اندازی uart در rtx
    توسط shahahmadi در انجمن LPC series (NXP)
    پاسخ: 2
    آخرين نوشته: 08-01-2015, 14:29
  4. نمونه کد برای راه اندازی uart در lpc1788
    توسط hamid69 در انجمن LPC series (NXP)
    پاسخ: 1
    آخرين نوشته: 08-10-2013, 22:46
  5. پاسخ: 0
    آخرين نوشته: 13-05-2010, 22:51

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

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