سلام دوستان
من يکسري داده از ماژول فرستنده گيرندم (ZE10) دريافت ميکنم
ماژول ها به پورت سريال ميکرو LPC1768 متصل هستند
و براي دريافت هم از کتابخانه uart که براي برد آموزشي خود سايت و برد Landingtiger هست استفاده ميکنم
داخل وقفه ي دريافت داده ها رو دريافت ميکنم و داخل main برنامه هم ارسال رو انجام ميدم
خوب حالا مشکل اينجاست که:
ماژول من وقتي ارسال انجام ميده (اگر ارسالش موفق باشه و گيرنده دريافت بکنه) يه پيام OK براي من بر ميگردونه که وقتي پيام OK رسيد برنامه وارد وقفه دريافت ميشه
اگر پيام با موفقيت ارسال نشه يه پيام Error براي من برگردونده ميشه که باز هم ميکرو وارد وقفه دريافت ميشه
مورد دوم اين هست که وقتي که با اون يکي ماژول ارسال انجام ميشه و ماژولي که به ميکرو متصل هست دريافت ميکنه باز هم وارد وقفه دريافت ميشه
خوب من الان ميخام بدونم که من بايد چطوري تفاوت اين Error و OK و داده اي که از ماژول ديگه ارسال ميشه رو بفهمم؟
خودم با تابع getchar داخل وقفه دريافت کاراکتر رو دريافت ميکنم ولي نميدونم که کاراکتري که دريافت کردم پيام OK هست يا پيام ERROR هست يا داده ي اصلي هست و وقتي هم که با sprintf روي LCD نمايشش ميدم يکسري اعداد مختلف نشون داده ميشه مثلا اول عدد 48 بعد عدد 57 بعد ..... ولي وقتي با همين تابع getchar توي حلقه for همه ي کاراکتر هارو ميريزم توي يه رشته و رشته رو روي LCD نمايش ميدم ،داده کاملا درست هست
اصلا اين تابع getchar مقدار اسکي برميگردنه يا مقدار هگز يا ... و کلا چطوري من داده دريافتي رو ازش استفاده کنم و بتونم مثلا بفهمم که OK هست يا چيز ديگه ؟
و يه سوال ديگه هم دارم ، داده ي اصلي که از ماژول هاي ديگه براي من ميرسه به صورت +0000165000000156:555 ميرسه به دست من که داده ي اصلي همون 555 هست که بعد از : اومده و اون بقيه کد هستند ، خوب حالا چطوري من داده اي که ميخام (555) رو از اون کد اضافي جدا کنم ؟
خيلي خيلي ممنون ميشوم راهنمايي کنيد
تشکر فراوان