بهتر بودنشرو باید خودتون تشخیص بدید ، ولی این موارد رومیتونم بگم :
1. استفاده از پورت سریال ؛ هم در طرف سخت افزار(caller id ) و هم در طرف PC ساده تر هست .
2. بعضی از مادر بورد ها و لپتاپها پورت سریال ندارند ، همچنین usb از پورت سریال خوشگل تر و جمع و جور تره !
3. سرعت انتقال اطلاعات در پورت سریال پایینتر از usb هست ، که البته در این مورد پروژه شما، نه تنها کافی هست ، بلکه زیاد هم هست.
4. سخت افزار شما (caller id) به طور پیش فرض پورت usb رو ساپورت میکنه ؟ یعنی چیپهایی که استفاده شدند ، این قابلیت رو دارند؟
5. اگر جواب مورد بالا منفی هست ، میتونید از ic های تبدیل (و حتی کابلهای تبدیل) سریال به usb استفاده کنید . مثل چیپهای FTDI . طرف pc یه درایور نصب میشه که یه پورت سریال (com ) مجازی درست میکنه . عملکردش هم دقیقا مشابه وقتی هست که از پورت سریال واقعی استفاده میکنید.
6. اگر سخت افزار شما به طور پیش فرض پورت usb رو ساپورت میکنه ، بسته به پروفایلی از usb که استفاده میکنید به درایور و برنامه نویسی مختص اون در طرف pc نیاز دارید.


سوال دوم:
همونطور که اشاره کردم ، برای کار با پورت usb حتما به درایور احتیاج دارید . برنامه نویسی اون هم یه مقدار مشکل تر از پورت سریال هست.
با توجه به کار برد شما که به سرعت بالا و امکانات بالای usb نیازی نیست ، به نظر من بهتره از پورت سریال استفاده کنید .
اگر زیبایی کار و یا تغذیه سخت افزارتون براتون مهمه ، به نظر من بهتره از چیپهای تبدیل سریال به usb استفاده کنید . با این کار هم سادگی کار با پورت سریال وجود داره، هم زیبایی و تغذیه 5 ولت پورت usb .