Then tried the code and it seemed to work exactly as wanted. Emboldene การแปล - Then tried the code and it seemed to work exactly as wanted. Emboldene ไทย วิธีการพูด

Then tried the code and it seemed t

Then tried the code and it seemed to work exactly as wanted. Emboldened by the success I added two more traces to support multi-key (highlighted in Red). That also worked perfectly. Interestingly, the pressed keys wont appear even if new key has been pressed. Only after the second key is released the first key is shown as pressed.

After going through the spec, I realized it can even be used for interrupts. The spec says the keyboard can generate interrupt every 32ms min. It generates the long low to indicate a button press or release event. It is upto the microcontroller to read the data. It does not state what happens when data read takes a long time from interrupt and the key change happens, can it cause interrupt while reading or right after reading. If the interrupt happens after read but before the interrupt handler is enabled, a key press may be lost. So, ideally the keyboard interrupt should be serviced well within 32ms, if you don't want to miss any key press. Depending on the exact behavior of the chip, the current code has a potential to have missed data, if the interrupt service routing is not called within 32ms of the key being pressed.

Also, the code takes a bit of time to read from the keyboard. So decided to keep the interrupt service separate from interrupt handler. So the caller has to keep calling HasEvent and if it has Event, then it may call GetButtonEvent to get the event. The event will be triggered for Press and Release and the caller has to find out how long the button was pressed.

On the other hand, calling GetButtonStatus will return the buttons pressed currently.

In short, here is the instruction to get the keyboard working with Arduino
1. Add a trace between 3&4 in header P1 (highlighted with yellow). This is the must if you want to use all 16 buttons. Refer to the picture above.
2. Add a trace between 1&2 in header P1 and 7&8 in header P2 (highlighted in Red). This is optional and needed only if you want to enable multi-key press at the same time. Refer to the picture above.
3. Connect the VCC & GND from the keyboard to corresponding pin in arduino.
4. Connect SCL from the keyboard to pin 7 in arduino. (If you connect to anything else, need to update the code with the right pin number. Find the line containing statement TTP16Button.Configure and replace 7 with what ever your pin number is used by you.)
5. Connect SDO from the keyboard to pin 2 in arduino. (Connecting to 2 or 3 will support interrupt based event for the keyboard and others has to be constantly polled. Find and replace line containing TTP16Button.Configure with SDO number.)
0/5000
จาก: -
เป็น: -
ผลลัพธ์ (ไทย) 1: [สำเนา]
คัดลอก!
แล้ว พยายามรหัส และเหมือนการทำงานตรงตามต้องการ Emboldened จากความสำเร็จฉันเพิ่มสองร่องรอยเพิ่มเติมเพื่อสนับสนุนหลายคีย์ (เน้นสีแดง) ที่ยังทำงานสมบูรณ์ เป็นเรื่องน่าสนใจ แป้นกดไม่ปรากฏถ้ามีการกดคีย์ใหม่ เดียวหลังจากปล่อยคีย์สอง คีย์แรกแสดงเป็นกดหลังจากผ่านการข้อมูลจำเพาะ ฉันรู้มันแม้จะใช้สำหรับ interrupts สเปคว่า แป้นพิมพ์สามารถสร้างขัดจังหวะทุก 32ms min สร้างต่ำนาน ไประบุกดปุ่มปล่อยเหตุการณ์ สำหรับไมโครคอนโทรลเลอร์จะอ่านข้อมูลได้ ไม่ว่ารัฐเกิดอะไรขึ้นเมื่ออ่านข้อมูลใช้เวลานานจากการขัดจังหวะ และการเปลี่ยนแปลงที่สำคัญเกิด ขึ้น อาจจะทำให้ขัดจังหวะใน ขณะที่อ่าน หรือภาย หลังการอ่าน ถ้าขัดจังหวะเกิดขึ้นหลังจากที่อ่าน แต่ก่อนขัดจังหวะการ เปิดใช้งานตัวจัดการ กดคีย์อาจสูญหาย ดังนั้น ดาวขัดจังหวะแป้นพิมพ์ควรให้บริการดีภายใน 32ms ถ้าคุณไม่ต้องการพลาดกดคีย์ใด ๆ ขึ้นอยู่กับพฤติกรรมที่แน่นอนของชิพ รหัสปัจจุบันมีศักยภาพมีพลาดข้อมูล ถ้าไม่เรียกว่าสายบริการขัดจังหวะภายใน 32ms ของคีย์ที่ถูกกดยัง รหัสใช้กันอ่านจากแป้นพิมพ์ จึง ตัดสินใจให้บริการการขัดจังหวะแยกต่างหากจากตัวจัดการการขัดจังหวะ ดังนั้น ผู้เรียกมีการเก็บเรียก HasEvent และถ้ามีเหตุการณ์ แล้วก็อาจโทร GetButtonEvent รับงาน เหตุการณ์จะถูกทริกเกอร์สำหรับกดและปล่อย และมีผู้เรียกหาระยะกดปุ่ม บนมืออื่น ๆ การเรียก GetButtonStatus จะกลับปุ่มกดในขณะนี้ในระยะสั้น นี่คือคำสั่งแป้นพิมพ์ทำงานกับสืบไป1. เพิ่มการติดตามระหว่าง 3 และ 4 ในหัวข้อ P1 (เน้น ด้วยสีเหลือง) นี้เป็นต้องถ้าคุณต้องการใช้ปุ่มทั้งหมด 16 ดูรูปภาพข้างต้น2. เพิ่มการติดตามระหว่าง 1 และ 2 ในหัวข้อ P1 และ 7 และ 8 ในหัวข้อ p 2 (เน้นสีแดง) นี้ไม่จำเป็น และจำเป็นเท่านั้นถ้าคุณต้องการเปิดหลายแป้นพร้อมกัน ดูรูปภาพข้างต้น3. เชื่อมต่อ VCC และ GND จากแป้นพิมพ์รหัส pin ที่ตรงกันที่สืบ 4. เชื่อมต่อ SCL จากแป้นพิมพ์รหัส pin 7 สืบ (ถ้าคุณเชื่อมต่อกับสิ่งอื่น ต้องปรับปรุงรหัสหมายเลข pin ที่ถูกต้อง ค้นหาบรรทัดประกอบด้วยคำสั่ง TTP16Button.Configure และ 7 แทน ด้วยอะไรเคยเลข pin ของคุณถูกใช้ โดยคุณ)5. เชื่อมต่อ SDO จากแป้นพิมพ์รหัส pin 2 สืบ (เชื่อมต่อกับ 2 หรือ 3 จะสนับสนุนขัดจังหวะตามเหตุการณ์แป้นพิมพ์และอื่น ๆ ได้ตลอดเวลาเป็นชั้น ค้นหา และแทนบรรทัดที่ประกอบด้วย TTP16Button.Configure มี SDO)
การแปล กรุณารอสักครู่..
ผลลัพธ์ (ไทย) 2:[สำเนา]
คัดลอก!
จากนั้นก็พยายามรหัสและดูเหมือนว่ามันจะทำงานตรงตามที่ต้องการ กล้าจากความสำเร็จที่ผมเพิ่มอีกสองร่องรอยมากขึ้นเพื่อรองรับหลายที่สำคัญ (เน้นในสีแดง) ที่ยังทำงานได้อย่างสมบูรณ์แบบ ที่น่าสนใจปุ่มกดเคยชินปรากฏแม้ว่าคีย์ใหม่ที่ได้รับการกด แต่หลังจากที่สำคัญที่สองจะถูกปล่อยออกที่สำคัญครั้งแรกที่แสดงให้เห็นว่ากด. หลังจากผ่านสเป็คฉันรู้ว่ามันยังสามารถนำมาใช้สำหรับการขัดจังหวะ สเปคกล่าวว่าแป้นพิมพ์สามารถสร้างขัดขวางทุก 32ms นาที มันสร้างต่ำยาวเพื่อแสดงให้กดปุ่มหรือเหตุการณ์ปล่อย มันเป็นไม่เกินไมโครคอนโทรลเลอร์ในการอ่านข้อมูล แต่ไม่ได้ระบุว่าเกิดอะไรขึ้นเมื่อข้อมูลที่อ่านใช้เวลานานจากการขัดจังหวะและการเปลี่ยนแปลงที่สำคัญเกิดขึ้นก็อาจทำให้เกิดการขัดจังหวะในขณะที่อ่านหรือขวาหลังจากการอ่าน ถ้าขัดจังหวะเกิดขึ้นหลังจากที่อ่าน แต่ก่อนที่จะดำเนินการขัดจังหวะถูกเปิดใช้งานกดปุ่มอาจจะหายไป ดังนั้นความนึกคิดขัดจังหวะแป้นพิมพ์ควรได้รับการบริการอย่างดีภายใน 32ms ถ้าคุณไม่ต้องการที่จะพลาดกดปุ่มใด ๆ ทั้งนี้ขึ้นอยู่กับลักษณะการทำงานที่แน่นอนของชิปรหัสปัจจุบันมีศักยภาพที่จะมีข้อมูลที่พลาดถ้าบริการเส้นทางการขัดจังหวะไม่ได้เรียกว่าภายใน 32ms ของการเป็นกุญแจสำคัญในการกด. นอกจากนี้รหัสใช้เวลาบิตของเวลาที่จะอ่านจากแป้นพิมพ์ . ดังนั้นจึงตัดสินใจที่จะให้บริการขัดจังหวะแยกออกจากตัวจัดการขัดจังหวะ ดังนั้นโทรที่มีการเรียกเก็บ HasEvent และถ้ามันมีเหตุการณ์แล้วมันอาจจะเรียก GetButtonEvent ที่จะได้รับการจัดงาน เหตุการณ์จะถูกเรียกและกดโทรออกและมีการหาวิธีที่ยาวปุ่มถูกกด. ในทางกลับกันเรียก GetButtonStatus จะกลับปุ่มกดในขณะนี้. ในระยะสั้นและนี่คือการเรียนการสอนที่จะได้รับแป้นพิมพ์ทำงานร่วมกับ Arduino 1 เพิ่มร่องรอยระหว่าง 3 และ 4 ในส่วนหัว P1 (เน้นด้วยสีเหลือง) นี้เป็นต้องถ้าคุณต้องการที่จะใช้ทั้งหมด 16 ปุ่ม โปรดดูที่ภาพข้างบน. 2 เพิ่มร่องรอยระหว่างวันที่ 1 และ 2 ในส่วนหัว P1 และ 7 และ 8 ในส่วนหัว P2 (เน้นในสีแดง) นี้เป็นตัวเลือกและจำเป็นเท่านั้นถ้าคุณต้องการเปิดใช้งานกดหลายปุ่มในเวลาเดียวกัน โปรดดูที่ภาพข้างบน. 3 เชื่อมต่อ VCC และ GND จากแป้นพิมพ์เพื่อสอดคล้องขาใน Arduino. 4 เชื่อมต่อ SCL จากแป้นพิมพ์ที่จะตอกตะปู 7 Arduino (ถ้าคุณเชื่อมต่อกับสิ่งอื่นใดต้องปรับปรุงรหัสที่มีจำนวนขาขวา. หาบรรทัดที่มีคำสั่ง TTP16Button.Configure และแทนที่ 7 กับสิ่งที่เคยจำนวนขาของคุณจะถูกใช้โดยคุณ.) 5 เชื่อมต่อ SDO จากแป้นพิมพ์ที่จะตอกตะปูที่ 2 ใน Arduino (การเชื่อมต่อ 2 หรือ 3 จะให้การสนับสนุนการจัดงานตามขัดจังหวะสำหรับแป้นพิมพ์และอื่น ๆ จะต้องมีการสำรวจอย่างต่อเนื่อง. ค้นหาและแทนที่บรรทัดที่มี TTP16Button.Configure มีจำนวน SDO.)












การแปล กรุณารอสักครู่..
ผลลัพธ์ (ไทย) 3:[สำเนา]
คัดลอก!
แล้วพยายามรหัสและมันดูเหมือนจะทำงานได้ตรงตามที่ต้องการ ล้าจากความสำเร็จที่ผมเพิ่มอีกสองร่องรอยหลายสนับสนุนคีย์ ( เน้นสีแดง ) ที่ยังทำงานได้อย่างสมบูรณ์ น่าสนใจ , กดคีย์เคยชินปรากฏแม้ว่าคีย์ใหม่แล้วกด หลังจากที่คีย์ที่สองถูกปล่อยคีย์แรกจะแสดงเป็นกด

หลังจากที่ผ่าน spec ,ฉันตระหนักว่ามันยังสามารถใช้สำหรับการขัดจังหวะขึ้นมา spec บอกว่าแป้นพิมพ์สามารถสร้างขัดจังหวะทุก 32ms มิน มันสร้างยาวต่ำเพื่อแสดงปุ่มกด หรือปลดปล่อยกิจกรรม มันเป็นไม่เกินไมโครคอนโทรลเลอร์เพื่ออ่านข้อมูล ไม่ รัฐ จะเกิดอะไรขึ้นเมื่อข้อมูลที่อ่านใช้เวลานานจากการขัดจังหวะและการเปลี่ยนแปลงที่สำคัญเกิดขึ้นมันสามารถทำให้ขัดจังหวะในขณะที่อ่านหรือหลังการอ่าน ถ้ารบกวนเกิดขึ้นหลังจากอ่านแต่ก่อนเปิดใช้งาน handler ขัดจังหวะ , กดคีย์อาจจะหายไป ดังนั้น นอกจากแป้นพิมพ์ขัดจังหวะน่าจะบริการดีภายใน 32ms ถ้าคุณไม่อยากพลาดปุ่มใด ๆ กด ขึ้นอยู่กับพฤติกรรมที่แน่นอนของชิปรหัสปัจจุบันมีศักยภาพจะพลาดข้อมูลถ้ารบกวนบริการเส้นทางไม่โทรมาภายใน 32ms ของคีย์ถูกกด

นอกจากนี้ รหัสใช้เวลาบิตของเวลาที่จะอ่านจากแป้นพิมพ์ ดังนั้นฉันจึงตัดสินใจที่จะให้ยุติบริการแยกต่างหากจากรบกวนผู้ดูแล เพื่อให้ผู้โทรมีให้เรียก hasevent และถ้ามันมีเหตุการณ์ ก็อาจเรียก getbuttonevent รับเหตุการณ์เหตุการณ์จะถูกเรียกให้กดและปล่อยและโทรได้ค้นหานานปุ่มถูกกด

ในมืออื่น ๆที่เรียก getbuttonstatus จะกลับมาปุ่มกดในขณะนี้

สั้นๆ นี่คือการสอนที่จะได้รับแป้นพิมพ์ทำงานกับ Arduino
1 เพิ่มการติดตามระหว่าง 3 & 4 P1 ส่วนหัว ( เน้นด้วยสีเหลือง ) นี้เป็นต้องถ้าคุณต้องการที่จะใช้ทั้งหมด 16 ปุ่มอ้างถึงภาพด้านบน .
2 เพิ่มการติดตามระหว่าง 1 & 2 P1 และ P2 ของ 7 & 8 หัว ( เน้นสีแดง ) นี้เป็นทางเลือกที่จำเป็นเท่านั้นและถ้าคุณต้องการให้กดคีย์หลายในเวลาเดียวกัน อ้างถึงภาพด้านบน .
3 ต่อ VCC & GND จากแป้นพิมพ์ที่สอดคล้องกันใน Arduino ขา .
4 ติดต่อ SCL จากแป้นพิมพ์เพื่อ pin 7 ใน Arduino . ( ถ้าคุณเชื่อมต่อกับอะไรต้องปรับปรุงโค้ดหมายเลข pin ครับ หาบรรทัดที่มี ttp16button ข้อความ ปรับแต่งและแทนที่กับสิ่งที่เคยเลข PIN ของคุณจะใช้คุณ )
5 เชื่อมต่อกับ SDO จากแป้นพิมพ์เพื่อ pin 2 ใน Arduino . ( เชื่อมต่อ 2 หรือ 3 จะสนับสนุนขัดจังหวะจากเหตุการณ์แป้นพิมพ์และคนอื่น ๆได้อยู่ตลอดเวลาถึงขนาด . ค้นหาและแทนที่บรรทัดที่มี ttp16button .ปรับแต่งกับ SDO จำนวน )
การแปล กรุณารอสักครู่..
 
ภาษาอื่น ๆ
การสนับสนุนเครื่องมือแปลภาษา: กรีก, กันนาดา, กาลิเชียน, คลิงออน, คอร์สิกา, คาซัค, คาตาลัน, คินยารวันดา, คีร์กิซ, คุชราต, จอร์เจีย, จีน, จีนดั้งเดิม, ชวา, ชิเชวา, ซามัว, ซีบัวโน, ซุนดา, ซูลู, ญี่ปุ่น, ดัตช์, ตรวจหาภาษา, ตุรกี, ทมิฬ, ทาจิก, ทาทาร์, นอร์เวย์, บอสเนีย, บัลแกเรีย, บาสก์, ปัญจาป, ฝรั่งเศส, พาชตู, ฟริเชียน, ฟินแลนด์, ฟิลิปปินส์, ภาษาอินโดนีเซี, มองโกเลีย, มัลทีส, มาซีโดเนีย, มาราฐี, มาลากาซี, มาลายาลัม, มาเลย์, ม้ง, ยิดดิช, ยูเครน, รัสเซีย, ละติน, ลักเซมเบิร์ก, ลัตเวีย, ลาว, ลิทัวเนีย, สวาฮิลี, สวีเดน, สิงหล, สินธี, สเปน, สโลวัก, สโลวีเนีย, อังกฤษ, อัมฮาริก, อาร์เซอร์ไบจัน, อาร์เมเนีย, อาหรับ, อิกโบ, อิตาลี, อุยกูร์, อุสเบกิสถาน, อูรดู, ฮังการี, ฮัวซา, ฮาวาย, ฮินดี, ฮีบรู, เกลิกสกอต, เกาหลี, เขมร, เคิร์ด, เช็ก, เซอร์เบียน, เซโซโท, เดนมาร์ก, เตลูกู, เติร์กเมน, เนปาล, เบงกอล, เบลารุส, เปอร์เซีย, เมารี, เมียนมา (พม่า), เยอรมัน, เวลส์, เวียดนาม, เอสเปอแรนโต, เอสโทเนีย, เฮติครีโอล, แอฟริกา, แอลเบเนีย, โคซา, โครเอเชีย, โชนา, โซมาลี, โปรตุเกส, โปแลนด์, โยรูบา, โรมาเนีย, โอเดีย (โอริยา), ไทย, ไอซ์แลนด์, ไอร์แลนด์, การแปลภาษา.

Copyright ©2025 I Love Translation. All reserved.

E-mail: