* مطلب زیر را برای پاسخ در یکی از گروه های الکترونیکی تلگرام نوشتم، و در اینجا نیز به اشتراک میگذارم.


یک برنامه ساده و خوب برای Encode و Decode پیام های #PDU و Text - - - #سیم #Sim

http://www.masterminds.sk/?p=166

پ.ن: از توابع و کتابخونه های استاندارد C استفاده شده، روی AVR ممکنه کمی سنگین عمل کنه اما روی میکروهای ARM خیلی خوب و راحت جواب میده. (من با F103RBT6 کار کردم)

پ.ن2: داخل Keil چون ssize_t (که نسخه علامتدار size_t هست) رو نمیشناسه، من بجای -1 مثلاً 0 رو برگردوندم که بتونم از size_t استفاده کنم. (تابع sms_write)

پ.ن3: تابع bzero از توابعیه که در کمپایلرهای گنو/لینوکسی موجوده و در Keil نمیشناسه. کار این تابع نوشتن 0 در رشته است. (خالی کردن رشته)؛ بجای اون از تابع memset استفاده کنید به صورت:
memset(sms,0,sizeof(sms_t));

پ.ن4: بعضی جاها در کد به اشتباه بجای telnum_length نوشته شده  sender_length که اصن از اعضای ساختار sms_t نیست. این رو هم اصلاح کنید.

پ.ن5: کتابخونه/کدهای معرفی شده نمونه ی ساده ای هستن که با دقت در اونها و کمی ویرایششون میتونین نسخه های شخصی سازی شده و حرفه ای تری رو بنویسین خودتون.

پ.ن6: اگه از AVR استفاده می کنید و سرعتش راضیتون نمیکنه، بجای استفاده از این کتابخونه میتونین با شیفت دادن Bit ها و البته قبلش خوندن کامل اصول کاری PDU بنویسین.