ممنون،ولی من ارتباط uart رو به صورت نرم افزاری میخام یعنی دوتا از پایه های میکرو رو دلخواه rxd ,txd انتخاب کنم.میشه از وقفه سریال هم استفاده کرد؟اگه کسی برنامه جواب گرفته داره واسم بفرسته ممنون میشم.
آرین شاپ : فروشگاه اختصاصی محصولات آبنما و نورپردازی
www.Shop.ArianEng.ir
سلام
دقیقا سوال من هم همینه.ارتباط دو میکرو با urt .بصورت وقفه.و ارسال و دریافت 4 بایت.
یعنی وقتی در بافر سریالیک بایت گزاشتم وقفه سریال فعال شه.PLEASE HELP ME :eek:
راه حل اول: تو این کتابا من ذیذم که چه طوری این کار رو میکنه ..
راه حل دوم (بهتره سختتره):خودت یه پروتکل بنویس .
اگه با دومی موافق بودی بگو تا کمکت کنم . من نوشتم ..برای 10 بیت با ارسال منچستر.تشخیص خطا کد همینگ .. زیاده کاری برای کم کردن رویه یه استاد از خود راضیه که فکر میکرد یه دانشجو نمی تونه کاری کنه
ببین باید اول رو کاغذ باسه خودت یه پروتکل طراحی کنی .. یه پروتکل باید تعداد بیت هات تو هر بار ارسال ثابت باشه. حتما اول یا اخرش یا هردوش ثابت باشه(یعنی ا 0 یا 1) حتما باید تشخیص خطا داشته باشه .. تصحیح خطا رو اگه بذاری سرعت میاد پایین میتونی بذاری میتونی نذاری .
فرض کن می خواهی 4 بیت بفرستی حالا باید اول (start) رو فرضا یک کن .. و انتها رو هم صفر کن ....
تو برنامه 4 بیتت رو مذاری بینه اول و اخر ...
تو گیرنده یا باید از اینتراپ استفاده کنی ... با اینکه از یه پین معمولی که که فرکانس نمونه برداریت باید مناسب باشه .....
اما برای سنکرون کردنش باید اولل یه سری کد بفرستی که بتونی سنکرونشون کنی یعنی وقتی می خواهی یه پکت بفرستی اینجوری عمل می کنی :
فرسنده به گیرنده میگه من می خوام برات یه پکت بفرستم ..اماده ای؟؟
گیرنده اگه اماده باشه میگه اره و به فرستنده میگه بسم الله بفرست .. خودش هم منتظر بیت شروع میمونه بعد از گرفتن بیت شروع بیت ها رو می خونه تا برسه به بیت اخر ...
حالا به فرستنده میگه دمت گرم گرفتم ...
دیدگاه