กันยายน 15, 2019, 05:43:17 pm *
ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน
ส่งอีเมล์ยืนยันการใช้งาน?

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น
   หน้าแรก   ช่วยเหลือ เข้าสู่ระบบ สมัครสมาชิก  
หน้า: [1]   ลงล่าง
  พิมพ์  
ผู้เขียน หัวข้อ: ขอโทษนะครับ มีวิธีการทำให้มันตรวจสอบสวิตช์เร็วๆ ใหม ?  (อ่าน 3939 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
ukzerorock
Newbie
*
ออฟไลน์ ออฟไลน์

กระทู้: 16


| |
« เมื่อ: กันยายน 20, 2015, 09:11:39 pm »

กระทู้เก่าไม่มีใครตอบ แต่แก้ปัญหาได้ก่อนละ ไม่อยากตั้งใหม่ให้รก เลยขอเปลี่ยน

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

Code:
if(!input(pin_a0)) //button
{
I=1;
}
if(I=1)
{
a++;
delay_ms(2000);   //ตรงนี้แหละครับ ระหว่างที่ส่วนนี้ดีเลย์อยู่ ผมจะกดสวิตช์ไม่ติดเลย จึงต้องกดค้างสักพัก
}

อยากจะทราบว่ามีวิธีแก้ไขแบบไหนมั่งครับ
บันทึกการเข้า
ShadowMan
Administrator
Hero Member
*****
ออฟไลน์ ออฟไลน์

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


ShadowWares


| |
« ตอบ #1 เมื่อ: กันยายน 26, 2015, 01:18:28 pm »

อ้างถึง
//ตรงนี้แหละครับ ระหว่างที่ส่วนนี้ดีเลย์อยู่ ผมจะกดสวิตช์ไม่ติดเลย จึงต้องกดค้างสักพัก
เมื่อรู้แล้วว่า นี่คือปัญหา ก็เลี่ยงการใช้มันครับ
ถ้าไม้มีการ delay จะทำให้โปรแกรมเกิดปัญหาอะไร?

เทคนิคเขียนโปรแกรมมีมากมาย จะให้ตอบแบบตรงจุด ต้องตั้งคำถามให้ตรงด้วยครับ
บันทึกการเข้า

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

กระทู้: 2



| |
« ตอบ #2 เมื่อ: กุมภาพันธ์ 26, 2016, 11:45:08 am »

กำลังหาข้อมูลในส่วนนี้อยู่เหมือนกัน และอยากได้ข้อมูลเพิ่มเติมคะ
บันทึกการเข้า
empirejrz
Newbie
*
ออฟไลน์ ออฟไลน์

กระทู้: 2


| |
« ตอบ #3 เมื่อ: พฤษภาคม 08, 2016, 06:40:34 am »

- ใช้ Interrupt Timer มา Scan Key เพราะต้องกำหนดระยะเวลาเช่น ทุกๆ 20 ms
- ทำงานให้เร็วขึ้นศึกษาเรื่อง Background-Foreground ต่อครับ
บันทึกการเข้า
ukzerorock
Newbie
*
ออฟไลน์ ออฟไลน์

กระทู้: 16


| |
« ตอบ #4 เมื่อ: พฤษภาคม 10, 2016, 03:39:30 pm »

ยังไงก็ขอบคุณที่มาตอบนะครับ  ตอนนั้นพึ่งหัดเขียนโปรแกรมใหม่ๆอยู่เลย ตอนนี้คิดว่าได้อะไรขึ้นเยอะแยะละครับ

ปกติผมเขียนโปรแกรมแบบหลีกเลี่ยงการใช้ delay ละ จะใช้ตัวแปรต่างๆนับเวลาแทน ทำคล้ายๆแบบ multi-tasking อะไรแบบนั้นแทน
บันทึกการเข้า
Flatvacx
Newbie
*
ออฟไลน์ ออฟไลน์

กระทู้: 2


| |
« ตอบ #5 เมื่อ: พฤษภาคม 17, 2019, 10:33:26 am »

เจอปัญหาเดี่ยวกันเลยครับ
บันทึกการเข้า

หน้า: [1]   ขึ้นบน
  พิมพ์  
 
กระโดดไป: