ايران ويج

نسخه‌ی کامل: دریافت یک فرمت دلخواه با USART
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2
سلام

من میخوام یه سری دیتا با یه فرمت خاص، مثلاً (0x01,0x05,0xf,.....) را به وسیله usart به AVR ارسال کنم و با میکرو بخونم.

مثلاً اگه بخوام همون دیتا رو به صورت flash unsigned char arr[] {0x01,0x05,0xf,.....) } ذخیره کنم باید چیکار کنم؟
اگه با ارسال و در یافت مشکل داره یه مقاله توی سایت هست برای این کار از صفر توضیح داده
ممنون از راهنمایی شما
من اونا رو خوندم اما بازم نتونستم جوابمو پیدا کنم.

من میخوام با کامپیوتر یه سری آرایه با فرمت 1,20,45,128,248,78,.... ارسال کنم و بعد با میکرو بخونم و به صورت آرایه {arr[]{1,20,45,128,248,78 ذخیره کنم.

ممکنه راهنمایی کنید.
با تشکر
ببین همش که یه دفه باهم جواب نمی ده باید تیکه تیکش کنی
ارسال با پرت سریال تو کامپیوتر رو بلدی؟
راسال که می کنی درست ارسال می شه؟
درست در یافت می شه ؟
ذخیره می شه؟
کار با usart رو بلدم. وقتی که یک کاراکتر رو ارسال می کنم درست کار میکونه.
اما چندتا که با هم ارسال می شه کار نمی کنه.

من فکر کنم برای دریافت همچین فرمتی باید از یه حلقه استفاده کنم.
اما نمی دونم چطوری توی یه آرایه ذخیره کنم.

من این کار رو برا تابلو روان میخوام.
می خوام متنم رو با سریال برا تابلو ارسال کنم.
بهترین کار پک کردن داده است
مثلا
کد:
Str="this is test"
شما باید اطلاعات رو به صورت string بفرستی
و به صورت string دریافت کنی
اگثر دستگاهای سریال از این استاندارد استفاده می کنن
یعنی اطلاعاتی که برای کاربر هم معنی داشته باشه
مثلا AT Command ها
این جوری حتی فونت هم قابل ارساله مثلا
کد:
font=0fada
یا میتونی ساعت برد رو به روز کنی
کد:
time="123512"
توجه تمامی دستورات بالا توسط برنامه نویس باید تعریف بشه
مثلا برنامه نویس تعریف کرده که اگر دیدی رشته ای با str= شروع شد str= رو حذف کن و به جای پیام نشون بده و ....
فکر کنم مشکل ایشون ارسال پشت سر هم داده هاست ارسال یه کارکتر زمان می بره و اگر داده بعدی رو به سرعت پشت سر اون ارسال کنی داده ها رو از دست می دی (یکی در حال ارسال می تونی داشته باشی یکی هم در بافر پرت سومی اگه ارسال بشه از دست می ره)
باید اطلاعات رو توی یه بافر قرار بدی و صبر کنی تا یکی یکی ارسال بشن
بهتر اول و آخر داده ها رو هم با یه کارکتر یا رشته خاص مشخص کنی که دوتا دسته داده با هم قاطی نشن مثلا داده ها رو داخل <> قرار بده
خیلی ممنون از شما دوستان.

من کاراکترها را در فرستنده با علامت , از یکدیگر جدا کرده ام. مشکلم اینه که نمی دونم چطور در گیرنده میکرو بادیدن علامت , آن را پایان یک کاراکتر فرض کند و پس از ذخیره کردن در یک آرایه سراغ کاراکتر بعدی رود. من حتی پایان کاراکترها رو هم صفر گذاشتم اما باز هم قاطی می کنه.
سلام اگه سرعت برات مهم نیست می تونی از دستورات کار با رشته مثل جستجو و برش استفاده کنی
اگه سرعت بالا مد نظرته باید با حلقه فور این کار رو انجام بدی
صفحه‌ها: 1 2