سلام به همه
میخوام یه گیرنده ریموت کنترلر کدلرنینگ بسازم مشکل من برنامه نویسیه میخوام با استفاده از وقفه خارجی و تایمر0 دیتایی که با ask در یافت میکنم رو دیکد کنم شکل زیر نحوه ارسال دیتا توسط ریموت کنترل مبتنی بر تراشه ev1527 رو نشون میده /
ریموت ابتداقسمت preambl یا مقدمه رو ارسال میکنه که با رنگ ابی مشخص شده این قسمت از دو پالس تشکیل شده که ابتدا پالس با سطح یک ارسال میشه و سپس یک پالس با سطح صفر ارسال میشه که پهنای پالس دومی 31برابر پهنای پالس اولی هست و بعدش 24بیت دیتا ی مربوط به ریموت رو ارسال میکنه که هنوز بنده وارد اون قسمت24بیت نشدم چون نتونستم هنوز قسمت مقدمه رو به صورت دقیق دریافت کنم من برای اینکه از صحت برنامم اطمینان پیدا کنم برنامه زیر رو نوشتم تا وقتی preambl ریموت رو دریافت کرد ال ای دی روشن و اگه دریافت نکرد ال ای دی خاموش بشه سخت افزارم یک بردآردیونو مگا 2560 و یک ماژول ask هست که پایه دیتای ask رو وصل کردم به وقفه خارجی و یک تایمر 8بیتی هم برا اندازه گیری پهنای پالس فعال کردم مشکل اینجاس که وقتی توی برنامه شرط مینویسم که اگه پهنای پالس دوم بین 30تا 31 برابر پهنای پالس اول بود ال ای دی روشن بشه ال ای دی روشن نمیشه ولی وقتی این مقدار رو بین30تا35 برابر میزارم وقتی ریموت رو فشار میدم ال ای دی روشن میشه اشکال کارم کجاست ؟ اینم برنامم شرطی که بالا گفتم توی خط51برنامه هست ینی یه جورایی برنامم درسته ولی اینجا تایمر دقیق اندازه نمیگیره چرا ؟ بیشتر از 3هفته هست الاف اینم هر کاری میکنم درست نمیشه خواهشا کمک کنین/
میخوام یه گیرنده ریموت کنترلر کدلرنینگ بسازم مشکل من برنامه نویسیه میخوام با استفاده از وقفه خارجی و تایمر0 دیتایی که با ask در یافت میکنم رو دیکد کنم شکل زیر نحوه ارسال دیتا توسط ریموت کنترل مبتنی بر تراشه ev1527 رو نشون میده /


دیدگاه