دستور Print در بسکام و CR و LF

مقدمه:

برای ارسال اطلاعات به پورت سریال میکرو در بسکام ساده‌ترین کار استفاده از دستور Print است. این دستور رشته‌ای که در مقابل آن قرار داده شده را روی پورت سریال میکرو ارسال می‌کند و اگر پورت TX میکرو را توسط مبدل USB به TTL به یک برنامه ترمینال مثل Real Term  متصل کنیم می‌توانیم هر رشته را در یک خط مجزا ببینیم.

 

کاراکترهای CR و LF:

دستور Print در بسکام بصورت پیشفرض به انتهای هر رشته، جفت کاراکترهای CR و LF را به ترتیب اضافه کرده و آنها را به پورت خروجی ارسال می‌کند. CR با کد اسکی 13 مخفف Carriage Return و LF با کد اسکی 10 مخفف Line Feed می‌باشد. این دو کاراکتر کنترلی برای نمایش صحیح رشته در محیط ترمینال بکار می‌روند، LF به ترمینال می‌گوید که به خط بعدی برو و CR به ترمینال می‌گوید که به ابتدای خط برو، ترکیب این دو دستور در انتهای چاپ یک رشته به ترمینال می‌فهماند که به ابتدای خط بعدی برود. به طور مثال اگر فقط از LF استفاده شود و CR استفاده نشود یعنی همین‌جایی که رشته تمام شده به خط بعدی برو و دیگر به ابتدای خط باز نگرد و خروجی‌ای شبیه شکل زیر خواهیم داشت:

کاراکتر LF در Realterm
کاراکتر LF در Realterm

حذف CR و LF در Print:

گاهی اوقات نیاز هست که بتوانیم روی دستور پرینت Print بسکام کنترل داشته باشیم و کاراکترهای CR و LF را از انتهای دستور حذف کنیم، این کار مخصوصاً در کنترل برخی ماژولهای سریال اجباری است. برای حذف این دو دستور کافیست در انتهای دستور Print یک ; قرار دهیم:

همچنین برخی مواقع می‌خواهیم فقط یکی از کاراکترها را ارسال کنیم مثلا فقط LF با کد اسکی 10، برای این منظور از دستور chr استفاده می‌کنیم:

بدین ترتیب براحتی می‌توانیم روی کاراکترهای انتهایی چسبیده به انتهای دستور Print در Bascom کنترل داشته باشیم و همچنین کدهای اسکی خاص را با دستور Print به پورت خروجی TX میکرو بفرستیم.

نتیجه‌گیری:

در این مقاله آموختیم که چگونه روی ارسال کاراکترها به پورت سریال میکروکنترلر AVR کنترل داشته باشیم و دستورات دلخواه و کدهای اسکی را برای کنترل ماژول‌های مختلف بوسیله کامپایلر بسکام Bascom ارسال نماییم.

 

بازدیدها: 22