Use RX and TX like GPIO

استفاده از پین rx و tx در ESP8266

یک مطلب کوتاه در مورد استفاده از پینهای rx و tx در ESP8266-01 را آماده کرده‌ام. ESP8266 سری یک، همانطور که می دانیم دارای دو پین قابل استفاده است. یکی GPIO0 و دیگری GPIO2. که در مطالب قبلی استفاده از آن را آموزش داده‌ام. ولی شاید ما در پروژه ای لازم داشتیم که پین بیشتری داشته باشیم. لپ کلام در این پست این است که این کار شدنی است و بسیار ساده هم می باشد.

حالت سه پین در ESP8266-01 :

حالت اولی که می‌خواهم شرح بدهم استفاده از سه پین است. همانطور که می دانیم پینهای rx و tx برای ارتباط سریال به کار می‌رود و همینطور برای پروگرام کردن ESP8266-01 . که نکته قابل توجه این است که اگر ما این پین ها را خروجی و ورودی تعریف کنیم، باز هم وقتی که ESP8266-01 را به مد برنامه نویسی می‌‌بریم، وظیفه‌ی پروگرام کردن خود را انجام می دهند. فقط نکته در این است که در آن هنگام، نباید به پینهای rx و tx ولتاژ پایین یا زمین متصل باشد.

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

  Serial.begin(115200, SERIAL_8N1, SERIAL_TX_ONLY);

همانطور که از کد پیداست ما اول سرعت ارسال را مشخص می‌کنیم. بعد از آن روش ارسال را مشخص می‌کنیم، که 8 بیت و یک توقف می‌باشد. در آخر هم می‌گوییم فقط از پین tx استفاده کن. بهمین راحتی هم یک پین بدست آوردیم و هم مونیتورینگ برنامه را از دست نداده‌ایم.

 

حالت چهار پین در ESP8266-01 :

در این حالت دیگه پینی برای ارتباط سریال تعریف نمی کنیم. و اصلا ارتباط سریال را آغاز نمی‌کنیم. ولی راه حل دیگری هم هست و آن اینکه دقیقا قبل از استفاده از پین ارتباط سریال را قطع کنیم و پین را استفاده کنیم و بعد از اتمام کار دوباره ارتباط سریال را تعریف و آغاز کنیم.

      Serial.println("serial ended");
      delay(50);
      Serial.end();
      delay(50);
      pinMode(BuzzerPin, OUTPUT);
      digitalWrite(BuzzerPin, LOW);
      delay(50);
      digitalWrite(BuzzerPin, HIGH);
      Serial.begin(115200, SERIAL_8N1, SERIAL_TX_ONLY);
      delay(50);
      Serial.println("serial begin");

نکته اینکه فقط در هنگام طراحی مدار و برنامه نویسی باید وظیفه‌ی کمی به این پین بسپاریم. چون خود ارتباط سریال پین را خیلی سریع صفر و یک می‌کند. و نمی‌توان از این پین برای کارهای حساس استفاده کرد. مگر اینکه کلا بیخیال ارتباط سریال شده و فقط از پین به عنوان ورودی یا خروجی استفاده کنیم. امیدوارم این پست کوتاه مورد استفاده قرار بگیره.

دیدگاه ها :

من بات نیستم

  1. محمد گفت:

    استاد مطالب سایت خیلی علیه خدا خیرتون بده چندماه دنبال مطالب مورد نظرم بودم که با سایت شما اشنا شدم انشالا که سایتتون بیشتر توسعه بدین

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *