سلام
می خوام از RS485 تو میکروی sam7s64 استفاده کنم
فقط می دونم باید مود UART رو بزارم روی 1
ولی نمی دونم ارسال و دریافت چطور هستش
وقتی چندتا دستگاه همزمان کار می کنن
سلام
می خوام از RS485 تو میکروی sam7s64 استفاده کنم
فقط می دونم باید مود UART رو بزارم روی 1
ولی نمی دونم ارسال و دریافت چطور هستش
وقتی چندتا دستگاه همزمان کار می کنن
شما یک ای سی رابط بزاری استاندارد rs485 پیاده میشه
max 485
خب آی سی که گذاشتم
مدار هم بسته شده
روش ارسال و دریافت چطوره
وقتی چندتا دستگاه می خوان به کامپیوتر ارسال کنن یا دریافت کنن چطوره؟
من از max487 استفاده می کنم
اتصالش به میکرو چطوره؟
بعد با 3.3 کار میکنه؟
من مدارش رو بستم و برنامه رو نوشتم ولی کار نمی کنه
نمی دونم از برنامه هستش یا مدار
البته من ولتاژ 3.3 دادم بهش
چند تا میکرو بخوان به کامپیوتر وصل بشن باید کامپیوتر مستر باشه و بقیه اسلیو. بخاطر عدم تداخل باید کامپیوتر به هر کدوم دستور بده که اطلاعات بفرسته و بقیه چیزی نفرستن
پروژه های مهم من در ایران میکرو:
" انتقال اطلاعات با SIM900 " ، " آموزش پورت USB " ، " راه اندازی MFRC522 " ، " راه اندازی SLE4442 " ، ""
من با اسکپ چک کردم موقعی که می خوام ارسال کنم rts صفر میمونه و یک نمیشه
مگه خود میکرو اتوماتیک اینکار رو انجام نمیده؟
دستی چطور صفر یک کنم؟
یادم رفت بگم یه مقاومت 120 اهمی هم بین پایه های A و B داشتم که برداشتم.
ویرایش توسط gbg : 07-09-2013 در ساعت 23:10
یکی از پایه های io رو برای انتخاب ارسال و دریافت در نظر بگیرید.
پروژه های مهم من در ایران میکرو:
" انتقال اطلاعات با SIM900 " ، " آموزش پورت USB " ، " راه اندازی MFRC522 " ، " راه اندازی SLE4442 " ، ""
خود میکروی s64 پایه PA7 رو برای rts در نظر گرفته که من هم وصلش کردم
خوب همین پایه ی pa7 رو با برنامه خودتون صفر و یک کنید
پروژه های مهم من در ایران میکرو:
" انتقال اطلاعات با SIM900 " ، " آموزش پورت USB " ، " راه اندازی MFRC522 " ، " راه اندازی SLE4442 " ، ""
نشد
فکر کنم خودش اینکار رو باید انجام بده ولی نمی دونم چطور میره تو این مود
دیتاشیت این میکرو رو نگاه کردین. در قسمت پورت سریال قطعا توضیح داده
پروژه های مهم من در ایران میکرو:
" انتقال اطلاعات با SIM900 " ، " آموزش پورت USB " ، " راه اندازی MFRC522 " ، " راه اندازی SLE4442 " ، ""
چیز خواصی توضیح نداده
کد:The USART features the RS485 mode to enable line driver control. While operating in RS485 mode, the USART behaves as though in asynchronous or synchronous mode and configuration of all the parameters is possible. The difference is that the RTS pin is driven high when the transmitter is operating. The behavior of the RTS pin is controlled by the TXEMPTY bit. A typical connection of the USART to a RS485 bus is shown in Figure 31-28. Figure 31-28. Typical Connection to a RS485 Bus The USART is set in RS485 mode by programming the USART_MODE field in the Mode Register (US_MR) to the value 0x1. The RTS pin is at a level inverse to the TXEMPTY bit. Significantly, the RTS pin remains high when a timeguard is programmed so that the line can remain driven after the last character completion. Figure 31-29 gives an example of the RTS waveform during a character transmission when the timeguard is enabled.
[PHP]The behavior of the RTS pin is controlled by the TXEMPTY bit.
The USART is set in RS485 mode by programming the USART_MODE field
in the Mode Register (US_MR) to the value 0x1.[/PHP]
یعنی چی؟
یعنی اینکه باید مقدار رجیستر usart_mode یا us_mr رو 0x1 کنید یا بیت صفر این رجیستر رو 1 کنید. این کارو کردین؟
ویرایش توسط esisafa : 08-09-2013 در ساعت 02:26
پروژه های مهم من در ایران میکرو:
" انتقال اطلاعات با SIM900 " ، " آموزش پورت USB " ، " راه اندازی MFRC522 " ، " راه اندازی SLE4442 " ، ""
این رو که فکر کنم تو پست اول گفتم انجام دادم
فقط یه چیز به ذهنم رسیدش ولی اسکپ ندارم نمی تونم چک کنم
من از هدری که برای rs232 نوشته شده استفاده کردم
درسته که موقع کانفیگ مد رو میگیره ولی فکر کنم تنظیم RTS رو انجام نمیده و فقط rx و tx رو انجام میده
یعنی مقدار 0x60 میزاره این باید تغییر کنه به 0xE0 فکر کنم
حالا فردا می فهمم درست حدث زدم یانه
آره مقدارش باید تغییر کنه به 0xE0
حالا که با اسکپ میگیرم پایه RTS درست عمل میکنه
ولی عمل ارسال و دریافت درست انجام نمیشه
میشه یکی مدار بستن RS485 رو بزاره
بین A و B یه یه مقاومت 120 اهمی بود که برداشتم و به آی سی هم مقدار 3.3 ولت وصل کردم
آقا یه جون مرد نیست کمک کنه؟
این آی سی های max485 همه 5 ولت هستن من 3.3 ولت بهش وصل کردم
این قراره تو مسافت بالا وصل بشه و استفاده بشه
اگه قرار 5 ولت بهش وصل کنم واین میکروی من 3.3 ولته مشکلی پیش نمیاد؟
تقسیم مقاومتی بزارم براش چه خاکی بریزم تو سرم
زمان هم ندارم
اولن که این استاندارد برای بالای 100 متر حالت سرعت پایینش جواب نمیده سرعت بالاش تا ده متر فاصله باید کم بشه دوما rs485 یک استاندارد ارسال دیتاست و شما احتمالا منظورت پیاده سازی پوروتکل profi bus هست شما تو این استاندارد به جز اون مقاومت 120 باید بین یک سیم و مثبت و طرف دیگه با یک مقاومت باید وصل بشه به منفی تغذیه و پروتکل هم به این شکل هست که یک به صورت -2 ولت و صفر +12 ولت میشه
اگه پروتکل پروفی باسو بخوای باید دنبالش بگردی ولی خود استاندارد rs 485 یک پروتکل پیشفرض هم داره که بعضی کامپایلر ها پشتیبانیش میکنن شما با rs 485 حتی میتونی دیتای سریال بفرستی
ولی در مورد پروفی باس و استاندارد پیش فرض باید بگم ارتباط به صورت half dublex هست یعنی نیمه دوطرفه که یعنی یک ic مستر میشه و بقیه slave میشن و برای ارسال دیتا از مستر باید اجازه بگیرن در نتیجه مستر باید تمام آدرس slave هارو بشناسه و هر slave باید آدرس خودشو داشته باشه حالا شاید کامپایلر پروتکلو بد پیاده کرده باشه یا حتی تو اون دست برده باشه اینو من باچشم خودم دیدم که کامپایلر ccs تو پروتکل x10 دست برده بود شاید شمام با این پدیده مواجه بشی شما کامپایلرت چی هست؟
سوالی بود در خدمتم
منprofi bus رو پیدا نکردم ولی خطوط دیتا رو با 180 اهم پول آپ و پول دان کردم
سریال چطور میشه فرستاد؟
اینجا Rs485 بیشتر توضیح دادم البته سخت افزارش رو