سلام دوستان
من یکسری داده از ماژول فرستنده گیرندم (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) رو از اون کد اضافی جدا کنم ؟
خیلی خیلی ممنون میشوم راهنمایی کنید
تشکر فراوان
من یکسری داده از ماژول فرستنده گیرندم (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) رو از اون کد اضافی جدا کنم ؟
خیلی خیلی ممنون میشوم راهنمایی کنید
تشکر فراوان
دیدگاه