Score:1

ไม่สามารถอ่านจากพอร์ตอนุกรมบนบรรทัดคำสั่ง

ธง de

ฉันลองอ่านจาก /dev/ttyS0 บน 1 เทอร์มินัลในฐานะรูทด้วย cat:

แมว < /dev/ttyS0

และส่งข้อความไปยังพอร์ตอนุกรมจากเทอร์มินัลอื่นในฐานะรูทด้วย echo:

echo -ne "สวัสดี" > /dev/ttyS0

แต่ฉันไม่ได้อะไรจากแมว ใครสามารถอธิบายฉันถึงสาเหตุของปัญหา

guiverc avatar
cn flag
เฉพาะรุ่นที่รองรับของ Ubuntu (*การสนับสนุนมาตรฐานหรือสาธารณะ*) เท่านั้นที่อยู่ในหัวข้อสำหรับไซต์นี้ Ubuntu 14.04 LTS เป็น EOL (*end-of-life*) ดังนั้นจึงไม่อยู่ในหัวข้อ และ Ubuntu 14.04 ESM อยู่ในการสนับสนุนแบบ *ขยาย* และรองรับโดย Canonical ผ่าน Ubuntu Advantage เท่านั้น ดังนั้นจึงนอกหัวข้อที่นี่ อ้างอิง https://askubuntu.com/help/on-topic https://help.ubuntu.com/community/EOLUpgrades https://fridge.ubuntu.com/2019/05/02/ubuntu-14-04-trusty-tahr-reached-end-of-life-on-april-25-2019-esm-available/
ablan avatar
de flag
เดี๋ยวก่อน เว็บไซต์นี้เป็นของ Canonical? ฉันคิดว่ามันเป็นอาสาสมัคร?
FedKad avatar
cn flag
เป็นไปโดยอาสาสมัคร อย่างไรก็ตาม มันไม่มีประโยชน์ที่จะเสียเวลาไปกับรีลีสที่ไม่รองรับ... อย่างไรก็ตาม อีกด้านหนึ่งของพอร์ตอนุกรมที่คุณกำลังพยายามอ่านและเขียนคืออะไร โมเด็ม คอมพิวเตอร์เครื่องอื่น?
guiverc avatar
cn flag
เป็นเว็บไซต์ทางการที่เชื่อมโยงกับ Ubuntu ใช่ ทำไมฉันถึงใช้เว็บไซต์ได้โดยไม่ต้องเข้าสู่ระบบผ่าน Stack Exchange (เช่น ใช้ Ubuntu-ONE SSO) แต่เป็นอาสาสมัครที่อยู่ที่นี่ด้วย
ablan avatar
de flag
ไม่มีอะไรที่อยู่อีกด้านหนึ่ง ฉันแค่ ```ls /dev/``` เห็น ttyS0 แสดงอยู่ จึงลองดู แต่ไม่ได้ผล
Score:1
ธง cn

อุปกรณ์ /dev/ttyS0 โดยปกติจะสอดคล้องกับพอร์ตอนุกรมแรกของคอมพิวเตอร์ของคุณ ปัจจุบัน คอมพิวเตอร์ไม่มีพอร์ตอนุกรม แต่อุปกรณ์ USB บางตัวอาจปรากฏที่ /dev/ttySx พอร์ตของระบบของคุณ หากอุปกรณ์เชื่อมต่อกับคอมพิวเตอร์ของคุณระหว่างการบู๊ต คุณสามารถค้นหาชื่ออุปกรณ์ได้โดยการเรียกใช้:

สมุดรายวันctl -b | เกรป ttyS

หากยังไม่ได้เชื่อมต่ออุปกรณ์ ให้รันคำสั่งก่อน:

สมุดรายวันctl -f | เกรป ttyS

จากนั้นเชื่อมต่ออุปกรณ์ คุณควรเห็นข้อความระบุหมายเลขพอร์ต x.


หากคุณพยายามส่งข้อมูลไปยังคอนโซลเสมือนของระบบเดสก์ท็อป ให้กดคีย์ผสมก่อน Ctrl+Alt+F4 และเข้าสู่ระบบคอนโซลเสมือนที่แสดงในโหมดข้อความ จากนั้นเรียกใช้คำสั่ง

ฉันเป็นใคร

เพื่อตรวจสอบว่าอุปกรณ์ที่คุณได้เข้าสู่ระบบนั้นมีอยู่จริง /dev/tty4 (คำที่สองของผลลัพธ์ของคำสั่งด้านบนควรเป็น tty4 ในกรณีนี้).

บนหน้าจอกราฟิกหลัก (ซึ่งสามารถเข้าถึงได้โดยการกดคีย์ผสม Ctrl+Alt+F2) เปิดเทอร์มินัลแล้วรันคำสั่ง:

echo "สวัสดี" >/dev/tty4

สลับกลับไปที่คอนโซลโดยใช้ Ctrl+Alt+F4 และเห็นข้อความนั้นปรากฏขึ้น

เรียกใช้คำสั่งต่อไปนี้บนหน้าจอกราฟิกหลักในทำนองเดียวกัน:

แมว </dev/tty4

สลับกลับไปที่คอนโซลแล้วลองป้อนอักขระบางตัว ตัวละครบางตัวจะสะท้อนไปที่หน้าจอ (โดย ทุบตี) บางคนจะไม่ อักขระที่ไม่สะท้อนจะแสดงบนหน้าจอกราฟิกหลักเป็นเอาต์พุตของ แมว สั่งการ. เหตุผลนี้เป็นเพราะอุปกรณ์เดียวกันกำลังอ่านโดยสองกระบวนการ (กระบวนการหนึ่งบนคอนโซลข้อความซึ่งก็คือ ทุบตี และอีกอันบนหน้าจอกราฟิกซึ่งก็คือ แมว สั่งการ).


บันทึก:

เพื่อให้ผู้ใช้ที่ไม่ใช่รูทสามารถอ่านและเขียนไปยังพอร์ตอนุกรมได้ ผู้ใช้นั้นจำเป็นต้องมีสิทธิ์ในการอ่านและเขียนสำหรับอุปกรณ์นั้นใน Ubuntu สามารถทำได้ง่ายๆ โดยเพิ่มผู้ใช้ปัจจุบันใน โทรออก กลุ่มโดยใช้

sudo addgroup _your_user_ หมุนหมายเลข

คุณอาจต้องออกจากระบบแล้วเข้าสู่ระบบอีกครั้งเพื่อให้การเปลี่ยนแปลงนี้มีผล

ablan avatar
de flag
สิ่งนี้ใช้งานได้หรือไม่หากไม่มีฮาร์ดแวร์จริงเชื่อมต่อกับ /dev/ttyS0
FedKad avatar
cn flag
@ablan ไม่ ต้องมีอุปกรณ์บางอย่าง "เชื่อมต่อ" กับพอร์ตนี้... และหากมีข้อมูลเพิ่มเติมที่คุณต้องการในคำตอบของฉัน โปรดแจ้งให้ฉันทราบ

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา