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





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









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





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

صفحه 1 از 2 12 آخرین
نمایش نتایج: از 1 به 10 از 15
  1. #1
    2006/10/29
    M.I.S
    631
    2

    ارتباط دو میکرو از طریق usart

    برنامه ارتباط دو میکرو از طریق usart به همراه سورس وهگز و فایل پروتئوس
    http://www.4shared.com/file/194464307/2f0f8070/usart_397.html
  2. #2
    2008/06/27
    9
    0

    پاسخ : ارتباط دو میکرو از طریق usart

    به نظر م اگه به این سایت هم سری بزنی مشکلت ودتر حل میشه
    http://downloadelectron.epage.ir/
  3. #3
    2009/04/01
    تهران
    109
    1

    پاسخ : ارتباط دو میکرو از طریق usart

    با سلام
    دوستان عزیز یه مشکل یا به عبارتی سوالی در مورد ارتباط یوزارت مطرح میشه اینه که بر فرض مثال فرستنده چندتا کاراکتر رو پشت سر هم میفرسته
    ریسور هم براش دستور getchar() رو نزده باشیم تکلیف این سه 4 تا کاراکتر چی میشه؟
    آیا از بین میرن یا داخل رجیستری ذخیره میشن؟
    اگر از بین میرن تکلیف چیه
    اگر که ذخیره میشن چجوری میشه بازبابیشون کرد و به چه ترتیبی میشه خارجشون کرد؟
    اگر کسی این موضوع رو برای من روشن کنه ممنون میشم
  4. #4
    2011/05/12
    366
    10

    پاسخ : ارتباط دو میکرو از طریق usart

    نقل قول نوشته اصلی توسط Nimra
    با سلام
    دوستان عزیز یه مشکل یا به عبارتی سوالی در مورد ارتباط یوزارت مطرح میشه اینه که بر فرض مثال فرستنده چندتا کاراکتر رو پشت سر هم میفرسته
    ریسور هم براش دستور getchar() رو نزده باشیم تکلیف این سه 4 تا کاراکتر چی میشه؟
    آیا از بین میرن یا داخل رجیستری ذخیره میشن؟
    اگر از بین میرن تکلیف چیه
    اگر که ذخیره میشن چجوری میشه بازبابیشون کرد و به چه ترتیبی میشه خارجشون کرد؟
    اگر کسی این موضوع رو برای من روشن کنه ممنون میشم
    اگه با Getchar کار میکنید ومیکرو هم در پورت سریالش FIFO نداره بایتها رو از دست میدید، میتونید روی وقفه دریافت در سریال یک FIFO نرم افزاری بنویسید و هر موقع که لازم بود اطلاعات رو از اون بخونید ولی اگه پر بشه باز هم اطلاعات از دست میره.
    اسمایل، تومورو ویل بی وُرس
  5. #5
    2009/04/01
    تهران
    109
    1

    پاسخ : ارتباط دو میکرو از طریق usart

    این FIFO که میگین رو تابع براش هست یا باید خودمون براش تابعی تعریف کنیم که مثلا کاراکتر اول رو دریافت کرد ذخیره کنه بعد بره سراغ کاراکتر بعدیو........
    یه سوال دیگه ای که داشتم این بود که وقتی کاراکتری ارسال میشه و بعد از اون دیگه دیتایی از طرف فرستنده نیاد باید دقیقا همون لحظه getchar زده بشه یا اگه مثلا چند لحظه بعد از اینکه دیتایی فرستاده شد دستور getchart زده بشه اون دیتا خونده میشه یا بازم از بین میره؟
    ببخشید سوالام زیاد شد،وقتی دیتایی فرستاده بشه روتین اینتراپت یوزارت گیرنده اجرا میشه که میشه اونجا کاراکترارو ذخیره کرد،درسته؟
    اون وقت این وقفه اولویتش نسبت به بقیه وقفه ها مثه تایمر ADC اینا چجوریه
    ممنون از توجهتون
  6. #6
    2011/05/12
    366
    10

    پاسخ : ارتباط دو میکرو از طریق usart

    نقل قول نوشته اصلی توسط Nimra
    این FIFO که میگین رو تابع براش هست یا باید خودمون براش تابعی تعریف کنیم که مثلا کاراکتر اول رو دریافت کرد ذخیره کنه بعد بره سراغ کاراکتر بعدیو........
    یه سوال دیگه ای که داشتم این بود که وقتی کاراکتری ارسال میشه و بعد از اون دیگه دیتایی از طرف فرستنده نیاد باید دقیقا همون لحظه getchar زده بشه یا اگه مثلا چند لحظه بعد از اینکه دیتایی فرستاده شد دستور getchart زده بشه اون دیتا خونده میشه یا بازم از بین میره؟
    ببخشید سوالام زیاد شد،وقتی دیتایی فرستاده بشه روتین اینتراپت یوزارت گیرنده اجرا میشه که میشه اونجا کاراکترارو ذخیره کرد،درسته؟
    اون وقت این وقفه اولویتش نسبت به بقیه وقفه ها مثه تایمر ADC اینا چجوریه
    ممنون از توجهتون
    FIFO رو که باید خودتون بنویسید و با استفاده از اون دیگه نیازی به Getchar نیست. در وقفه FIFO پر میشه و در روتین برنامه یا هرجا که بخونیدش خالی میشه.
    وقتی از Getchar استفاده میکنید، اون تابع تا زمان دریافت یک کاراکتر صبر میکنه، در نتیجه برنامه در اون تابع اونقدر چرخ میزنه تا یک کاراکتر در پورت سریال دریافت بشه که به روش Polling معروفه، ولی برای استفاده از پورت سریال و اجرای همزمان برنامه چندین روش وجود داره که روش وقفه و FIFO تنها یکی از اونهاست. با استفاده از این روش در زمان دریافت، اطلاعات به صورت ترتیبی در FIFO قرار میگیرند و هر موقع که مثلا تابع FIFO_Read رو به جای Getchar فراخوانی کنید دیگه منتظر دریافت نخواهید موند و بایتها رو به ترتیب دریافت میکنید تا FIFO خالی بشه، اگر هم خالی شد اون تابع FIFO_Read مقدار بازگشتیش، حالا مثلا اگه با بولین تعریف کرده باشید، به شما این امکان رو میده که متوجه خالی بودن FIFO بشید و از اون قسمت رد بشید و منتظر دریافت بایت بعدی مثل Getchar نمونید، هر موقع هم که بایت جدیدی اومد دوباره همه مراحل تکرار میشه.
    مثلا اگه بین دوبار فرخوانی Getchar فاصله ای پیش بیاد و در اون زمان بایتهایی به پورت سریال فرستاده بشن، اگه FIFO نباشه اون بایتها روی بافر تک بایتی پورت سریال Overwrite میشن و از بین میرن.
    درسته، در وقفه دریافت کافیه بایت دریافتی رو در FIFO بریزید.
    اولویت وقفه ها در دیتاشیت کامپایلرها مشخصه، مثلا در IAR در Vector Table جدولی که مشخص کننده ترتیب و اولویت وقفه ها هست مشخص شده که به چه ترتیبی هست. میشه مشخصات اون جدول رو دستکاری کرد و اولویت ها رو جا به جا کرد، یکم تخصصی میشه و کار میبره چون در فایلهای مربوط به تنظیمات کامپایلره و در اختیار کاربر به صورت عادی نیست.
    اسمایل، تومورو ویل بی وُرس
  7. #7
    2009/04/01
    تهران
    109
    1

    پاسخ : ارتباط دو میکرو از طریق usart

    واقعا ممنون که انقدر با حوصله و دقیق پاسخ میدید
    به عنوان آخرین سوالم من همین الان تو تنظیمات کد ویزارد کدویژن تنظیمات مربوط به یوزارت رو زدم تیک Interrupt رو هم فعال کردم انتظار داشتم تو برنامم یه روتینی مثه روتینای تایمر در اختیارم بذاره ولی اینجوری نشد
    میشه بگید چجوری میشه به روتین وقفه یوزارت دسترسی پیدا کرد
  8. #8
    2011/05/12
    366
    10

    پاسخ : ارتباط دو میکرو از طریق usart

    نقل قول نوشته اصلی توسط Nimra
    واقعا ممنون که انقدر با حوصله و دقیق پاسخ میدید
    به عنوان آخرین سوالم من همین الان تو تنظیمات کد ویزارد کدویژن تنظیمات مربوط به یوزارت رو زدم تیک Interrupt رو هم فعال کردم انتظار داشتم تو برنامم یه روتینی مثه روتینای تایمر در اختیارم بذاره ولی اینجوری نشد
    میشه بگید چجوری میشه به روتین وقفه یوزارت دسترسی پیدا کرد
    به نظر میرسه در CV از همون روش FIFO استفاده شده چون در تنظیمات مقدار Receiver Buffer رو هم میگیره، در مورد وقفه هم گزینه موردنظر در تنظیمات هست، کدش هم اینجا نمونش هست:

    http://courses.cit.cornell.edu/ee476/codevisionC/cvavrman.pdf
    http://www.avrfreaks.net/index.php?name=PNphpBB2&file=printview&t=8 5692&start=0
    اسمایل، تومورو ویل بی وُرس
  9. #9
    2011/07/11
    1
    0
    f.t

    پاسخ : ارتباط دو ميکرو از طريق usart

    سلام وقتتون بخير باشه :agree:
    بخشي از پروژه ي پاياني من در مورد ارتباط سريال دو ميکرو ميباشد که قصد دارم موج سينوس رو از ميکرو اول به ميکرو دوم بفرستم ،همزمان دامنه و فرکانس رو از ميکرو دوم به ميکروي اول ارسال کنم.(و البته از دو تا کليد مخصوص به فرکانس ،يکي براي کم کردن و يکي براي زياد کردن و 2تا کليد براي کم و زياد کردن دامنه استفاده کردم ،که متصل هستند به ميکروي دوم)
    مشکلي که دارم اينه که اولا اين کار رو با تابع وقفه ي خود usart نميتونم انجام بدم ، دوم اينکه وقتي بدون تابع وقفه اين کار رو ميکنم براي ارسال فرکانس جواب ميده اما براي دامنه مشکل داره،يعني فرکانس با فشردن کليد ها کم و زياد ميشه اما دامنه با فشردن کليد ها تغييري نميکنه :sad:
    مشکل کجاس؟
  10. #10
    2011/08/13
    9
    0

    پاسخ : ارتباط دو میکرو از طریق usart

    یه نگاهی به این بنداز:
    http://www.special-topics.blogfa.com/post-4.aspx
صفحه 1 از 2 12 آخرین
نمایش نتایج: از 1 به 10 از 15

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

  1. پاسخ: 4
    آخرين نوشته: 2015/07/10, 19:08
  2. پاسخ: 2
    آخرين نوشته: 2014/12/05, 21:40
  3. ارتباط دوتا میکرو با usart
    توسط زوار در انجمن میکروکنترلرهای AVR
    پاسخ: 10
    آخرين نوشته: 2013/08/23, 16:20
  4. ارسال اطلاعات به uart از طریق یه میکرو که usart نداره!
    توسط mrmokhtari در انجمن میکروکنترلرهای AVR
    پاسخ: 5
    آخرين نوشته: 2011/06/28, 15:44
  5. نیاز به کمک در کد نویسی ارتباط میان دو میکرو usart
    توسط n340 در انجمن میکروکنترلرهای AVR
    پاسخ: 6
    آخرين نوشته: 2009/12/08, 10:44

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

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

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

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

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