שְׁאֵלָה:
EPS8266 ESP-01: נראה שמניפולציה של LED מפריעה לתקשורת סדרתית
user2224350
2017-08-15 04:11:41 UTC
view on stackexchange narkive permalink

אני משחק עם דוגמת udp זו. גם זה וגם דוגמא למצמץ עובדים בצורה מושלמת. עכשיו ברצוני להשתמש ב- LED כדי לציין מה ה- ESP עושה כרגע, כמו גם לקרוא נתונים על Serial. הקוד שלי נראה ככה:

  setup setup () {Serial.begin (115200); Serial.setTimeout (500); בעוד (Serial.available () == 0) {} סיסמת מחרוזת = Serial.readStringUntil ('.'); Serial.println (סיסמה); WiFi.begin (ssid.c_str (), password.c_str ()); // pinMode (LED_BUILTIN, OUTPUT); בעוד (WiFi.status ()! = WL_CONNECTED) {// digitalWrite (LED_BUILTIN, LOW); עיכוב (250); // digitalWrite (LED_BUILTIN, HIGH); עיכוב (250); } Serial.println ("מחובר"); Udp.begin (localUdpPort);}  

זה עובד בסדר, אבל אם אני מבטל את התגובה על קווי ההובלה נראה שהתקשורת הסדרתית לא עובדת יותר. כל הדברים המודפסים במוניטור הסידורי מבולגנים כעת (חסרים תווים, ...). האם יש בעיה בקוד שלי או מה עוד יכול להיות שמשתבש כאן?

עריכה: לאחרונה ניסיתי שוב את אותו קוד, אך השתמשתי באספקת חשמל נוספת (3.3V, 500mA) עבור השבב. עם זאת, זה לא פתר את הבעיה.

הפעל את קצב השידור ל 9600 ובדוק אם זה עוזר. גם לא בטוח לגבי שיחת 'setTimeout'.
לקביעת קצב השידור ל 9600 אין כל השפעה כאשר מעירים את הדברים לד, אבל אם לא מגיבים עליו אני לא יכול לראות שום דבר ב- SerialMonitor (גם להגדיר את setTimeout)
האם יש לך מנהלי התקנים לנורות LED או שהם מחוברים ישירות ל- ESP-01? והאם יש לך קבל נוסף כמייצב כוח על Vcc ו- GND?
זה מובנה הוביל על esp אני משתמש. בדיוק חיברתי VCC ל- VCC של שבב ה- usb / ftdi שלי (שמחובר למחשב הנייד שלי).
אני משתמש בשבב הזה ממתאם AzTelivery FTDI FT232RL
הייתי מציע לך להוסיף משהו לגוף זה תוך כדי לולאה, רק כדי לאפשר להמשיך את פעילויות הרקע, גם אם זה רק 'עיכוב' קצר או 'תשואה'
אתה מתכוון לראשון? מדוע זה צריך לשנות משהו?
האם אתה מקבל את אותן תוצאות עם מודול אחר? הזנת משהו דרך המסך הטורי? האם אתה יכול למקם 'תוך כדי (1);' אחרי 'Serial.println (סיסמה)' כדי לראות אם זה לפחות מודפס? אולי גם למקם 'תשואה ()' בלולאה `while (Serial.available () == 0) {}.
אחד תשובה:
Mazaryk
2017-09-05 07:06:15 UTC
view on stackexchange narkive permalink

הייתי מהמר שסיכת LED המובנית היא גם סיכת TX עבור הממשק הטורי.

בדוק כאן, סעיף פין LED : http://www.esp8266.com/wiki/doku.php?id=esp8266_gpio_pin_allocations

פין LED

GPIO1, שהוא גם TX, מחובר לנורית הכחולה במכשירים רבים. שים לב שהנורית LED פעילה נמוכה (מחוברת ל- Vcc ושוקעת דרך השבב לקרקע) ולכן הגדרת ערך לוגי של 0 תדליק אותה. מכיוון ש- GPIO1 הוא גם פין ה- TX, לא תוכל למצמץ את ה- LED ולבצע תקשורת טורית בו זמנית אלא אם כן תחליף פין TX / RX.

זה יאושר אם נורית הנורית מהבהבת כאשר התקשורת הסדרתית פעילה.

אם זה המקרה תצטרך להוסיף נורית LED משלך על סיכה אחרת, או להחליף את סיכות RX / TX.

אני מסכים, שופט. https://github.com/esp8266/Arduino/issues/3165


שאלה ותשובה זו תורגמה אוטומטית מהשפה האנגלית.התוכן המקורי זמין ב- stackexchange, ואנו מודים לו על רישיון cc by-sa 3.0 עליו הוא מופץ.
Loading...