กันยายน 21, 2018, 02:22:25 am *
ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน
ส่งอีเมล์ยืนยันการใช้งาน?

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น
   หน้าแรก   ช่วยเหลือ เข้าสู่ระบบ สมัครสมาชิก  
หน้า: [1]   ลงล่าง
  พิมพ์  
ผู้เขียน หัวข้อ: ถามเกี่ยวกับ RS485 [ถูกห้องรึเปล่าไม่ทราบ]  (อ่าน 3838 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
bug_18486
Newbie
*
ออฟไลน์ ออฟไลน์

กระทู้: 22


| |
« เมื่อ: มกราคม 28, 2013, 11:57:05 pm »

โปรแกรมผมทำตัวเป็น slave รับค่าผ่าน RS485 แต่ติดปัญหาตรงที่ว่า พอให้มันทำการรับค่าไปสักพักปรากฏว่าค่าที่ได้รับเพี้ยนไปหมด แรกๆทำงานได้เป็นปกติ ค่า BAUDRATE  ผมตั้งไว้ 19200 ข้อมูลที่รับมายาวแค่ 16 byte เอง ท่านใดพอมีทางชี้แนะบ้างครับ undecided
บันทึกการเข้า
ShadowMan
Administrator
Hero Member
*****
ออฟไลน์ ออฟไลน์

เพศ: ชาย
กระทู้: 8272


ShadowWares


| |
« ตอบ #1 เมื่อ: มกราคม 29, 2013, 06:17:34 am »

- Error จาก Baudrate จะเกิดขึ้นในระดับไบต์ ไม่มีการสะสม Error เพราะฉนั่นถ้ารันมาได้สักพักแล้ว แสดงว่ามีความเป็นไปได้สูงมากที่จะไม่เกี่ยวกับ Baudrate

- หากตอนนี้ติดต่อ หรือเชื่อมต่อกับ Slave หลายตัวอยู่ ให้ต่อ Slave ไว้ตัวเดียว ปลด Slave ตัวอื่นๆ ออกให้หมด จากนั้น สื่อสารข้อมูลกันแบบ ตัวต่อตัว (Master <--> Slave)

- โดยพื้นฐานแล้ว Master จะ Request ไป เพื่อให้ Slave ทำการ Response กลับมา ตามด้วยการถ่ายโอนข้อมูล หากตอนนี้การถ่ายโอนข้อมูลเป็นไปตามลักษณะนั้นอยู่แล้ว จะต้องทำการตรวจสอบโปรแกรม หรืออาจจะต้องใช้ Parity Checking หรือ CRC เข้ามาช่วย

- หากความผิดพลาดนั้นเป็นๆ หายๆ บางเฟรมได้ บางเฟรมไม่ได้ อันนี้  Parity Checking หรือ CRC จะช่วยได้ แต่ถ้าความผิดพลาดนั้นเกิดขึ้นในเฟรมที่ n และเฟรมที่ n+1, n+2, ..., n+m ต่อเนื่องไปเรื่อย มีความเป็นไปได้สูงมากว่าทำการกับโปรแกรมในส่วนของ Buffer หรือ Queue ไม่เหมาะสม
บันทึกการเข้า

By SDW: Do No Wrong Is Do Nothing
          If you want to increase your success rate, double your failure rate
bug_18486
Newbie
*
ออฟไลน์ ออฟไลน์

กระทู้: 22


| |
« ตอบ #2 เมื่อ: มกราคม 29, 2013, 04:09:54 pm »

ขอบคุณพี่ติมากครับ ผมเจอว่า ผม printf มากเกินไป พอผมปิด printf ทั้งหมดทิ้ง โปรแกรมทำงานได้เป็นปกติสุขรับส่งค่าไม่เพี้ยนเลย
บันทึกการเข้า
ShadowMan
Administrator
Hero Member
*****
ออฟไลน์ ออฟไลน์

เพศ: ชาย
กระทู้: 8272


ShadowWares


| |
« ตอบ #3 เมื่อ: มกราคม 29, 2013, 10:08:30 pm »

ยินดีด้วยที่เจอปัญหา
แต่ในเชิงเทคนิค printf ไม่ใช่ตัวปัญหา มันเป็นเพียงตัวขยายปัญหาที่ซ่อนเร้นอยู่ออกมาให้เห็นเท่านั้น
บันทึกการเข้า

By SDW: Do No Wrong Is Do Nothing
          If you want to increase your success rate, double your failure rate
Linwrvjkfh
Newbie
*
ออฟไลน์ ออฟไลน์

กระทู้: 1


| |
« ตอบ #4 เมื่อ: กันยายน 12, 2018, 03:12:53 pm »

น่าสนค้ะ
บันทึกการเข้า

เกมส์ผ่อนคลายแก้เหงา sbobet หรือ แทงบอลออนไลน์
หน้า: [1]   ขึ้นบน
  พิมพ์  
 
กระโดดไป: