سلام
من سعی میکنم تا جایی که بتونم کمکتون کنم. میخوام یه سری اطلاعات کلی درباره ارتباط میکرو با پورت سریال بگم منتها چیزی که هست متاسفانه الان به منابع اطلاعاتیم دسترسی ندارم و چیزهایی که یادم هست رو مینویسم امیدوارم ببخشید اگه کم وزیاد نوشتم.
دو نوع تکنولوژی معروف cmos و TTL وجود داره که در ساخت آی سی های دیجیتال استفاده میشه پورت سریال از نوعه cmos هست اما بعضی میکرو ها مثلا 8051 از نوع TTL اند. کاری به بحث های تکنیکی این دو نوع تکنولوژی ندارم ولی متاسفانه نمیشه این دو تا را با هم مستقیم ارتباط داد. این مشکل برای هر ارتباطی یه راه حل داره واسه ارتباط سریال که منظور ماست یه آی سی هست با شماره max232 که بین pc و میکرو قرار میگیره و عمل تبدیل را انجام میده. قیمتش هم حدود 500 تومنه توی بقالی سر کوچتونم احتمالا گیرت بیاد!!!
اما نوع مرغوبتر از اون max233 هست که قیمتش خیلی بالا تره (شاید 10 برابر) و بد تو بازار پیدا میشه.
بگذریم این بحث مفصلش توی کتاب 8051 دکتر مزیدی بخش ارتباط سریال هست.
اما میکرو های دیگه ای هستن مثل pic که مستقیم به کامپیوتر وصل میشه.
Avr هم فکر کنم نیاز به مبدل نداره چون خودش cmos است. خوب چون دقیقا نمیدونم چیه هر دو حالت را توضیح دادم.اینا بیشتر بدرد دوستتون میخورد البته پیشنهاد میکنم شما هم با میکرو ها آشنا بشید چون دنیای قشنگی دارن.
اما توی کامپیوتر پورت سریال دو جور کانکتور داره 9 پین و25 پین که نوع دوم را فقط توی مادر برد های قدیمی دیده میشه و جدیدا ازش خبری نیست. نوع 9 پین هم جدیدا بعضی هاشون ندارن. واسه اینکه این مطلب بدرد همه بخوره اگه کسی پورت سریال نداره یه آیسی هست اگه اشتباه نکنم FT232 که به USB وصل میشه و دو تا پورت سریال درست میکنه که برنامه نویسی براش مثل سریال معمولیه.
اما این 9 تا پین که شماره هاش رو کانکتور نوشته شده هرکدوم یه اسم دارن و یه کاربرد:
1- یادم نیست
2- RXD
3- TXD
4- DTR
5- GND
6- DSR
7- RTS
8- CTS
9- یادم نیست
کاربرد ها:
1- نمیدونم
2- دریافت داده یا همون خوندن از پورت
3- ارسال داده یا نوشتن به پورت
4- مشخص میکنه که پورت اماده ارسال و دریافت هست یا نه
5- اتصال زمین یا همون مبنای ولتاژ (صفر ولت)
6- مشخص میکنه که دستگاه اماده ارسال و دریافت هست یا نه
7- درخاست برای ارسال
8- پاک کردن برای ارسال
9- اشکار ساز زنگ که واسه مودم های قدیمی تعبیه شده بوده
اما واسه یه ارتباط ساده استاندارد شما به پینهای 2و3و7 و8 دارید.
چون امکانات تست ندارم نمیتونم یه برنامه نمونه بذارم ولی شما باید یه شیئ از نوع
Microsoft Comm Control 6.0
روی فرم بذارید. قرار داد بین شما و میکرو اینه که شما با دستور زیر دائم چک کنید اگه میکرو داده ای واسه ارسال داره CTS را یک میکنه که شما بفهمید و شروع کنید به خوندن اطلاعات.
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
و مثلا وقتی میخواید یه چیزی از کامپیوتر به اون بفرستید باید اول RTS را فعال کنید
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
نکته اینکه strIn و strOutرشته های کاراکتری هستند و کد اسکی آنها ارسال و دریافت میشه و اگه شما عدد دلتون میخواد باید خودتون کد های اسکی را بدست بیارید با تابع ASC(char here) و بعد از انجام اعمال ریاضی مربوطه دوباره اون اعداد که نباید از 255 بیشتر باشه رو به کاراکتر تبدیل کنید. میتونید از تابع
chr(your code here)استفاده کنید.
راستی یادتون نره که با دستور MSComm1.PortOpen = True همون اول کار پورت را باز کنید.
سرعت انتقال هم باید توی قسمت تنظیمات زمان طراحی درست تعیین کنید یعنی کامپیوتر و میکرو باید با یک سرعت انتقال ارتباط برقرار کنند تا اطلاعات صحت خودش را از دست نده. سرعت های معمول 1200و 2400و 4800و9200 هستند. ولی شما میتونید 150و300و600 را هم استفاده کنید البته اگه میکرو قبول کنه .
ببخشید اگه طولانی شد ولی اینا واسه شروع بود تا عملی شدن کامل خیلی باید تلاش کنید.
اگه سوالی بود در خدمتم . سوال جزئی البته نه خیلی کلی