ผมเข้าใจว่าโมดูล RF น่าจะเป็นแบบ ASK เพราะคุณไม่ได้บอกไว้ครับ
การส่งจะเป็นการ ON\OFF พอร์ต (ซึ่งต่างจาก FSK เพราะส่วนใหญ่จะเป็น I2C หรือ spi)
แล้ววิธีการส่งเป็นแบบไหนครับ (format)
- แบบ fix bit คือมีจำนวน bit คงที่
- แบบ start byte แล้วจบด้วย end byte เช่น start ด้วย #xxxxxxxxxx<0x0D>
-ทั้งสองกรณี ภาครับจะต้องป้องกัน การติดอยู่ใน loop เช่น
ข้อมูลผิดกฏ
ข้อมูลมาไม่ครบ (ให้ตรวจสอบด้วยการจับเวลา หรือการนับ)
ให้ออกจาก loop แล้ว clear ค่าทั้งหมด แล้วเริ่มรับค่าใหม่
- การตรวจสอบข้อมูล อาจใช้วิธี checksum หรือ LRC อย่างเช่น XOR แล้วใส่มาใน byte สุดท้ายของการส่ง
ดู PRTOCOL & Format
http://www.thaimicrotron.com/webboard2/index.php?topic=206.0- ธรรมชาติของ wireless การส่งบางครั้ง อาจไม่สำเร็จ
จึงอาจต้องส่งหลายครั้งติดกันเช่น 3 ครั้ง แล้วเอาผลจาก 1 ในนั้น จะทำให้โอกาสรับได้สูงขึ้น
- การ debug ด้วยการใช้ Terminal debug ผ่าน RS232
โดยการแสดงค่าที่ต้องการทราบเป็นระยะๆ เสร็จแล้ว ให้ comment ไว้หรือลบออก
ลองตรวจสอบโปรแกรมภาครับดูครับว่าผิดตรงไหน