آیا راه حلی وجود داره که بتونم چند پورت مستقل دیگه (غیر از Rx , Tx) را در ATMega16 جوری برنامه ریزی کنم که اون ها هم مثل UART سخت افزاری کار بکنه یعنی احتمالاً باید دنبال یک لایبرری یا هدر مخصوص این کار بگردم.مشکل من از اونجایی شروع می شه که مجبورم چند ماژول مختلف (که هیچ کدوم قابل برنامه ریزی نیستن تا بشه از همه اشون رو یک پورت UART استفاده کرد و دریافت و ارسال اطلاعات را در اون ها به ترتیب برنامه ریزی کرد) رو به یک AVR که فقط یک UART داره وصل کنم (حتی اگه از مدل های دارای 2 عدد UART هم استفاده کنم هم برام کافی نیست و از طرف دیگه نمی خوام دو تا یا بیشتر AVR تو مدار داشته باشم، فقط یک دونه!).
اطلاعیه
Collapse
No announcement yet.
چگونه در یک AVR با یک پورت UART، چند پورت UART دیگر بطور نرم افزاری ایجاد کنم
Collapse
X
-
پاسخ : چگونه در یک AVR با یک پورت UART، چند پورت UART دیگر بطور نرم افزاری ایجاد کنم
سلام دوست عزیز.
میتونی از این دستور استفاده کنی:
Open "COMb.4:2400,8,n,1,inverted" For Output As #2
استفاده از دستور Open به این شکل، برای تعریف پورت سریال نرم افزاریه. یعنی اینکه رویه پایه شماره 4 از پروت B با نرخ 2400، به صورت 8 بیت، بدون Parity و 1 بیت برای Stop به صورت خروجی یک پورت سریال رو شبیه سازی میکنه که به اون شماره یا عدد 2 رو اختصاص می ده. لفظ Inverted برای مشخص شدن سطوح ولتاژ برای بیان بیتهاست و همچنین در زمان Idle وضعیت پایه مشخص می شه.
-
پاسخ : چگونه در یک AVR با یک پورت UART، چند پورت UART دیگر بطور نرم افزاری ایجاد کنم
نوشته اصلی توسط ardavanzzz. یعنی اینکه رویه پایه شماره 4 از پروت B با نرخ 2400،
فقط با همون بادریت جوابمیده یا میشه تنظیمش کرد ؟
همه atmega ها دارند یا بی تعداد خاصیه ؟
میشه برای پورت های دیگه هم تعریف کرد ؟
فرقی هم با پورت سریال معمول داره یا به همون صورته ؟
شرمنده سوالام زیاد شد .
در میان مردم پی دستی هستم پی گرمای نگاهی حتی در پس این همه چشم سردی غربت انسان پیداست
در پس، این همه نور این همه رنگ چه کسی میبیند اشک آن کودک را چشم آن مردی را
که شبانگاه، سر افکنده ز شرم و به یاد طفل اش بی صدا میگرید، می شکند
آری این شهر من است این همان شهر شما است در پی چشمی باش که نگاه اش آبی است و پر از نم نم باران بهار
دیدگاه
-
پاسخ : چگونه در یک AVR با یک پورت UART، چند پورت UART دیگر بطور نرم افزاری ایجاد کنم
سلام منم این مشکل رو دارم که با codevision کار میکنم آقای حمیدی شما فرمودید که از rs-485 استفاده بشه خوب چند ماژول رو وصل کردیم بعدش دستور رو که روی باس میزاریم ماله کدوم ماژوله؟؟؟oo: هیچ کنترلی وجود نداره روی باس.
من یه بار با رله سوئیچ می کردم یا از سوئیچ های آنالوگ باید استفاده کرد من خودم هم با این مسئله درگیرم :cry:
دیدگاه
-
پاسخ : چگونه در یک AVR با یک پورت UART، چند پورت UART دیگر بطور نرم افزاری ایجاد کنم
با تشکر از ardavanzzz ،
راه حل قضیه با BASCOM ظاهراً خیلی راحته، ولی من با CodeVision کار می کنم، کسی اینجا یک الگوریتم یا لایبرری و هدر سراغ نداره که بشه این کارو رو UART به نتیجه رسوند؟
در ضمن RS-485 فکر نمی کنم (با توجه به جزئیات این قضیه) کاری بکنه، شرایط کاری موجود رو یک بار دیگه می گم:
فرض کنید چندتا ماژول با baud از پیش تعیین شده و غیره قابل تنظیم داریم که بدتر از اون قابل برنامه ریزی هم نیستن ( تا بشه مثلاً براشون معین کنیم که هر کدوم در چه زمانی روی یک باس مشترک از Rx و Tx استفاده کنند)، کامپایلر مورد استفاده C هست و فقط باید از یک عدد AVR که تنها یک UART سخت افزاری داره استفاده کنیم. با توجه به این شرایط به احتمال 99% نمی شود همه اون ها روی یک باس مشترک باشند که بوسیله چند خط کنترلی هم نحوه و ترتیب جابجایی اطلاعات روی اونها کنترل بشه. پس باید از UART های جداگانه که بطور نرم افزاری ایجاد می شوند استفاده کرد.مشتاق همکاری با افراد پرتلاش و باهوش هستم.
Saed.Ahmadi@Gmail.com
دیدگاه
-
پاسخ : چگونه در یک AVR با یک پورت UART، چند پورت UART دیگر بطور نرم افزاری ایجاد کنم
من این کار رو با سخت افزار انجام دادم و 10 تا پورت درست کردم
به این ترتیب که از 3 تا ماکس 4 به 1 استفاده کردم و به گیرندم وصل کردم
10 تا فرستنده داشتم یه گیرنده :mrgreen: که اطلاعات هر کدوم رو خواستم انتخاب میکردم و میخوندمشون
واسه فرستنده هم اومدم شبکه کردم و با یه دیکدر به اونی که میخواستم اعلام میکردم و اونم یوزارتش رو فعال میکرد و اطلاعات رو میگرفت
به نظرم دنبال سخت افزاری باشی بهتره تا نرم افزاریدنبال کار میگردم تو تهران کسی سراغ داره
دیدگاه
-
پاسخ : چگونه در یک AVR با یک پورت UART، چند پورت UART دیگر بطور نرم افزاری ایجاد کنم
در اصل من یک ماژول GPS و یک GSM و RS-232 کامپیوتر و دو قطعه دیگر را باید همزمان به یک AVR وصل کنم در حالیکه مثلاً ماژول GPS با فرکانس 1Hz دائم اطلاعات خودش رو ارسال می کنه و همینطور بعضی از قطعه های دیگه هم همینطور هستند و اصلاً حالتی که بشه بر روی اونها ارسال یا دریافت را بوسیله یک یا چند اینتراپت کنترل کرد وجود نداره.مشتاق همکاری با افراد پرتلاش و باهوش هستم.
Saed.Ahmadi@Gmail.com
دیدگاه
-
پاسخ : چگونه در یک AVR با یک پورت UART، چند پورت UART دیگر بطور نرم افزاری ایجاد کنم
سلام جناب خوشتیپ!!
میشه در باره قسمت دوم فرستنده ها یه توضیح کامل تری بدی که به صورت واضح چیکار کردی؟ چون این رو منم لازم دارم.
اما مشکل همچنان هست و حل نشده که چند پورت روی codevision داشته باشیم وقتی توی bascom شده پس توی codevision حتماً میشه :nerd:
اگه بشه کد رو از bascom تبدیل به C کنیم حله لمل من bascom خیلی کم بلدم :cry: و تسلطم روی codevision است کمک کنید لطفاًoo:
دیدگاه
-
پاسخ : چگونه در یک AVR با یک پورت UART، چند پورت UART دیگر بطور نرم افزاری ایجاد کنم
ببینید
من چون اطلاعاتم مهم بودن و نمیخواستم واسه تمام میکرو ها برن با یه دیکودر به میکرو که میخواستم اطلاعات بفرستم خبر میدادم و اون یوزارت رو فعال میکرد و اطلاعات رو دریافت میکرد اینجوری باقی میکرو کار خودشون رو بدن وقفه انجام میدادندنبال کار میگردم تو تهران کسی سراغ داره
دیدگاه
-
پاسخ : چگونه در یک AVR با یک پورت UART، چند پورت UART دیگر بطور نرم افزاری ایجاد کنم
با درود فراوان و سپاس از پاسختون
از همراهان دیگر که بر روی نرم افزار bascom تسلط بیشتری دارند انتظاز کمک بیشتری هست تا کد bascom درباره افزودن پورت rs232 به صورت نرم افزاری را به codevision برگردانند :nerd: :nerd:
کمک
کمک :eek:
دیدگاه
-
پاسخ : چگونه در یک AVR با یک پورت UART، چند پورت UART دیگر بطور نرم افزاری ایجاد کنم
احتمالاً باید جواب را پیدا کرده باشم، ولی یک مقداری توضیحاتش بیش از اندازه است و باید روش کار بشه. این کد رو خود Atmel ظاهراً ساپورت کرده و آدرسش این هست:
http://www.atmel.com/dyn/resources/prod_documents/doc0941.pdf
http://www.atmel.com/dyn/resources/prod_documents/avr304.zip
ظاهراً هرچی که لازم باشه توش نوشته شده ولی فکر می کنم بهتره هرکس که خواست با هاش کار کنه، تجربیاتش رو برای استفاده سریع تر دیگران در اینجا قرار بده.مشتاق همکاری با افراد پرتلاش و باهوش هستم.
Saed.Ahmadi@Gmail.com
دیدگاه
دیدگاه