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





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









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





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

نمایش نتایج: از 1 به 6 از 6
  1. #1
    2016/08/15
    3
    0

    مشکل در دریافت اطلاعات توسط usart

    عرض سلام و ادب خدمت همه دوستان بزرگوار
    من یه ماژول بلوتوث دارم و میخوام اطلاعاتی رو که از گوشی برای بلوتوث میفرستم از طریق usart به میکرو بدم.اینتراپت یوزارت رو هم فعال کردم تا هروقت دیتا اومد بره توی زیربرنامه اینتراپت و دیتا رو دریافت کنه.اما مشکلم اینجاست که وقتی بیشتر از دو بایت رو خیلی سریع میفرستم rcreg پر میشه و بایت سوم رو نمیتونه دریافت کنه.هرجا هم که گشتم گفتن باید مقدار rcreg رو بخونید تا این رجیستر خالی بشه و بشه دوباره دیتا دریافت کرد.
    کسی از دوستان میدونه من باید چیکار کنم؟یعنی بیشتر از دوبایت رو نمیشه با سرعت بالا توسط usart دریافت کرد؟
    من برناممو با زبون basic نوشتم
    ممنون میشم راهنماییم کنید

    کسی نیست کمک کنه؟
    ویرایش توسط شاهرخ مستقیمی : 2016/08/17 در ساعت 16:20 دلیل: ادغام دو پست برای جلوگیری از اسپم
  2. #2
    2007/11/22
    تبریز
    2,483
    486

    پاسخ : مشکل در دریافت اطلاعات توسط usart

    سلام.
    منظورتون از سرعت بالا چقدر هست؟ ارتباط سریال نهایتا با سرعت 115200 کار میکنه که خیلی راحت میکرو میتونه اطلاعات دریافت شده رو بخونه.

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت



    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

  3. #3
    2013/02/25
    مشهد
    180
    33

    پاسخ : مشکل در دریافت اطلاعات توسط usart

    بسم الله الرحمن الرحیم
    نقل قول نوشته اصلی توسط sajadkhajedad

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    عرض سلام ...من برناممو با زبون basic نوشتم
    امیدوارم که تا کنون مشکل شما حل شده باشد. اما اگر امکان دارد سورس برنامه به همراه نسخه کامپایلر تان را بنویسید . در حد امکان و بضاعت هم فکری می کنم
  4. #4
    2016/08/15
    3
    0

    پاسخ : مشکل در دریافت اطلاعات توسط usart

    سلام.ببخشید دیر جواب دادم.چندروز رفته بودم مسافرت
    نه متاسفانه حل نشده مشکلم.منظورم از با سرعت بالا اینه که با بادریت 9600 سه بایت رو همزمان برای ماژول بلوتوث میفرستم.ماژول بلوتوث این سه بایت رو درست دریافت میکنه اما وقتی میکرو از طریق یوزارت میخواد دریافت کنه این سه بایت رو مشکل پیش میاد و فقط دو بایتش رو دریافت میکنه
    کد:
    '****************************************************************
    '*  Name    : UNTITLED.BAS                                      *
    '*  Author  : [select VIEW...EDITOR OPTIONS]                    *
    '*  Notice  : Copyright (c) 2000 [select VIEW...EDITOR OPTIONS] *
    '*          : All rights reserved.
    * '* Date : 2000/01/01 * '* Version : 1.0 * '* Notes : * '* : * '**************************************************************** DEFINE LCD_DREG PORTB DEFINE LCD_DBIT 4 DEFINE LCD_RSREG PORTB DEFINE LCD_RSBIT 1 DEFINE LCD_EREG PORTB DEFINE LCD_EBIT 3 DEFINE LCD_BITS 4 DEFINE LCD_LINES 2 '--------------------------------- trisb=%00000000 trisc=%10000000 trisd=%01111111 trisa=%11111 i var word b var byte c var byte t var byte ' ------------------------------------------------- portb=%00000000 portc=%10000000 portd=%00000000 '------------------------------------------------------ uartre var byte[3] l var byte l=0 intcon=%11000000 rcif var pir1.5 spbrg=25 rcsta=%10010000 txsta=%00100100 pie1.5=1 '------------------------------------------ on interrupt goto isr main: lcdout $fe,1,"hello" pause 2000 goto main disable '-------------------------------------------interrupt isr: loopisr: if rcif=0 then goto loopisr uartre[l]=rcreg lcdout $fe,1,dec uartre[l] l=l+1 if l=2 then l=0 rcsta.4=0 rcsta.4=1 resume enable end end

    دلیل: ادغام دو پست برای جلوگیری از اسپم

    نقل قول نوشته اصلی توسط شاهرخ مستقیمی

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    سلام.
    منظورتون از سرعت بالا چقدر هست؟ ارتباط سریال نهایتا با سرعت 115200 کار میکنه که خیلی راحت میکرو میتونه اطلاعات دریافت شده رو بخونه.
    سلام.تا اونجایی که من فهمیدم ثبات rcreg یه ثبات با دو بافر هشت بیتی هست.یعنی میتونه دو بایت رو بدون دردسر تو خودش ذخیره کنه.اگه بیشتر از دو بایت براش بفرستیم سرریز رخ میده و بایت های بعدی رو نمیتونه دخیره کنه.چندجا خوندم میگفت باید مقدار rcreg رو بخونیم تا این این ثبات خالی بشه.ولی انگار اگه فاصله زمانی که بایت های اطلاعات رو میفرستی خیلی کم باشه rcreg خالی نمیشه.یه راهش اینه که بعد از هربایت که میفرستیم یه delay اعمال کنیم.که خیلی جالب نیست این راه
    اگه شما راه حل دیگه ای دارین بمنم بگین
    ممنون
  5. #5
    2013/02/25
    مشهد
    180
    33

    پاسخ : مشکل در دریافت اطلاعات توسط usart

    بسم الله الرحمن الرحیم

    اگر برایتان مشکلی نیست سورس برنامه را به طور کامل یک جایی آپلود کنید . در ضمن اینکه در تالار های گفتگو PICBASIC به آدرس :

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت



    هم می توانید رجوع کنید. اطلاعات فراوان و بسیار قابلی آنجا وجود دارد. فقط باید حوصله کنید و خوب بگردید. به نظر می رسد که برای دریافت و ارسال سریال نیازی به ایجاد تاپیک در آنجا نباشد و فراوان مثالهای دریافت و ارسال سریال وجود دارد. برای همه حالات سوالات و نمونه های قابلی هست/ مجدد خدمت تان عرض می کنم که خوب و محکم و از سر حوصله وقت بگذارید و در میان ارسال ها ی مرتبط ؛ جستجو کنید. یا اینکه سورس کامل را قرار بدهید.
    احیانا ارسال شما از نوع 9 بیت اطلاعات که نیست؟

    سوال : آیا از همان پین هایی که سخت افزار برای ارتباط سریال معین کرده است (یعنی PortC.6=TX & PortC.7=Rx ) استفاده می کنید؟
    ویرایش توسط rezaasgharian : 2016/08/29 در ساعت 14:20 دلیل: افزودن سوال آخری
  6. #6
    2016/08/15
    3
    0

    پاسخ : مشکل در دریافت اطلاعات توسط usart

    نقل قول نوشته اصلی توسط rezaasgharian

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    بسم الله الرحمن الرحیم

    اگر برایتان مشکلی نیست سورس برنامه را به طور کامل یک جایی آپلود کنید . در ضمن اینکه در تالار های گفتگو PICBASIC به آدرس :

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت



    هم می توانید رجوع کنید. اطلاعات فراوان و بسیار قابلی آنجا وجود دارد. فقط باید حوصله کنید و خوب بگردید. به نظر می رسد که برای دریافت و ارسال سریال نیازی به ایجاد تاپیک در آنجا نباشد و فراوان مثالهای دریافت و ارسال سریال وجود دارد. برای همه حالات سوالات و نمونه های قابلی هست/ مجدد خدمت تان عرض می کنم که خوب و محکم و از سر حوصله وقت بگذارید و در میان ارسال ها ی مرتبط ؛ جستجو کنید. یا اینکه سورس کامل را قرار بدهید.
    احیانا ارسال شما از نوع 9 بیت اطلاعات که نیست؟

    سوال : آیا از همان پین هایی که سخت افزار برای ارتباط سریال معین کرده است (یعنی PortC.6=TX & PortC.7=Rx ) استفاده می کنید؟
    سلام
    نه ارسال هشت بیتی هست.سه تا هشت بیت رو از طریق یه اپلیکیشن میفرستم برای ماژول بلوتوث و سپس از طریق یوزارت میکرو دریافتشون میکنم
    بله پایه هارو هم درست استفاده کردم

    دلیل: ادغام دو پست برای جلوگیری از اسپم

    فقط میخوام بدونم با باودریت 9600 داده های هشت بیتی رو با چه فاصله زمانی بفرستم برای میکرو که بتونه اونارو از طریق یوزارت درست و کامل دریافت کنه.الان من سه بایت رو باهم به صورت همزمان میفرستم،دو بایتش رو میگیره و بایت سوم رو نمیتونه دریافت کنه(باهمین کدی که بالا گذاشتم)
نمایش نتایج: از 1 به 6 از 6

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

  1. مشکل در دریافت دیتا از usart
    توسط valiant در انجمن میکروکنترلرهای AVR
    پاسخ: 4
    آخرين نوشته: 2016/04/17, 21:58
  2. مشکل با دریافت رشته در USART
    توسط favorite در انجمن میکروکنترلرهای AVR
    پاسخ: 3
    آخرين نوشته: 2016/02/06, 23:05
  3. کمک در ارسال و دریافت اطلاعات به صورت usart
    توسط arash_ee در انجمن میکروکنترلرهای AVR
    پاسخ: 5
    آخرين نوشته: 2011/10/11, 15:43
  4. مشکل با ارسال و دریافت اطلاعات چندبایتی با USART
    توسط ziXet در انجمن میکروکنترلرهای AVR
    پاسخ: 9
    آخرين نوشته: 2011/02/04, 19:20
  5. ارسال اطلاعات مورد نیاز تابلو روان توسط USART
    توسط mbabaee در انجمن میکروکنترلرهای AVR
    پاسخ: 3
    آخرين نوشته: 2009/09/16, 22:32

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

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

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

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

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