اطلاعیه

Collapse
No announcement yet.

مشکل usart در atmega128

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

    مشکل usart در atmega128

    با سلام

    من با توابع getchar() و Putchar() توی میکرو ATMEGA32 ارتباط سریال بین میکرو با میکروی دیگه و حتی ارتباط RS485 با یه PLC به صورت 16 بیتی برقرار کردم. بدون هیچ مشکلی دیتا ارسال و دریافت می شد.

    اما الان برای اولین بار اومدم از میکروی ATMEGA128 اسافاده کردم که از USART0 اطلاعات را از یه میکرو ATMEGA128 دیگه دریافت کنم و با USART1 توسط ارتباط RS485 به یه PLC انتقال بدم، امکان نداره . یعنی بین دو میکرو هم مگا 128 هم نمیتونم ارتباط USART برقرار کنم.

    این را هم میدونم که توابع getchar() و putchar() در مگا128 به صورت putchar و getchar برای USART0 و putchar1 و getchar1 برای USAR1 استفاده می شود.


    حالا سوالم اینه که آیا نکته خاصی داره که باید رعایت کنم؟ مگر همه چیز شبه همون میکرو مگا32 نیست؟ با یه سری تفاوت اسمی؟ پس چرا دیتا چرت و پرت ارسال و دریافت میشه؟

    کریستال میکرو روی کریستال خارجی تنظیم شده و مقدار کریستال خارجی 11059200 هرتز هستش!! مقداری هم که توی رجیستر UBRRL میریزم طبق دیتا شیت و فورمول محاسبه Baud Rate برابر 71 هست که مقدار Baud Rate برابر 9600 بشه!!!

    ممنونم از اینکه وقت میذارید و به سوال من پاسخ میدید.

    #2
    پاسخ : مشکل usart در atmega128

    به تاپیک زبر مراجعه کنید:
    http://www.eca.ir/forum2/index.php?topic=102640.msg656970#msg656970
    موفق باشید
    امام علي (عليه السلام) : الزکات العلم نشرهُ/ زکات علم نشر آن است

    دیدگاه

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