לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה --לשאלות בנושאי טלוויזיות, מערכות קולנוע ביתי, הגברה וסאונד - אנא פנו לפורום אודיו וקולנוע ביתי -- www.fresh.co.il/f=103 תגיות פורום: פורום אלקטרוניקה - פורום חשמל - שאלות בנושאי אלקטרוניקה - תכנון מעגלים - מעגלים מודפסים - פיתוח אלקטרוני - תכנון PCB - בקרים למנועים - תאורת לדים - תכנון דימר - מודינג - Arduino - מיקרו בקרים - שליטה על תאורה - שלט רחוק - משדר FM - תאורת LED - פתרון שאלות בחשמל - אלקטרוניקה תקבילית חץ ימינה  

לך אחורה   לובי הפורומים > תחביבים > חשמל ואלקטרוניקה
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #4  
ישן 18-02-2008, 12:42
צלמית המשתמש של maind
  maind maind אינו מחובר  
 
חבר מתאריך: 08.10.02
הודעות: 827
בתגובה להודעה מספר 3 שנכתבה על ידי זוצולה שמתחילה ב "אין לי מושג איך להביא לפה..."

נכון המקשים ניראים ככה:

קוד:
1 2 3 A 4 5 6 B 7 8 9 C # 0 * D


ולכל מקש יש מיקום
לדוגמא בסירטוט למעלה
מקש במיקום 0 הוא A
במיקום 1 הוא 3
במיקום 2 הוא 2
במיקום 3 הוא 1
במיקום 4 הוא B
וכך אלה ....

אז איך אתה יודע שמקש שנלחץ A? הבקר מעלה את DAVBLE ל "1" לוגי ומוציא ברגליים שלו את הערך ששווה למיקום המקש - בין 0 ל 15. ואז היית צריך לעשות משהו כזה:

קוד:
unsigned char key = getkey(); if (key == 0) { //A was pressed }


אז בעזרת שימוש בטבלת המרה אפשר להמיר את הערך של המיקום בין 0 ל 15 לתו
ASCII שהתו מייצג.

היית עושה:
קוד:
unsigned char key = getkey(); if (key == 'A') { //Do something }


הרבה יותר מובן לא?

מימוש הפונקציה של
getkey() יכולה להיות משהו כזה:

קוד:
unsigned char getkey() { while (P1.4 != 1); //Wait for '1' at DAVBLE //Read key: unsigned char key = P1 & 0x0F; //Get only lower half of port 1 switch (key) { case 0: return 'A'; case 1: return '3'; case 2: return '2'; case 3: return '1'; case 4: return 'B'; case 5: return '6'; case 6: return '5'; case 7: return '4'; case 8: return 'C'; case 9: return '9'; case 10: return '8'; case 11: return '7'; case 12: return 'D'; case 13: return '*'; case 14: return '0'; case 15: return '#'; } return 0; //Won't get here }


או ככה, שפה ממש רואים שמדובר בטבלה (מערך):
קוד:
unsigned char getkey() { while (P1.4 != 1); //Wait for '1' at DAVBLE //Read key: unsigned char key = P1 & 0x0F; //Get only lower half of port 1 unsigned char arr[15] = { 'A', '3', '2', '1', 'B', '6', '5, '4', 'C', '9', '8', '7', 'D', '*', '0', '#' }; return arr[key]; }


אבל זה תלוי איך חיברת.
_____________________________________
Error: Keyboard not found
Press F1 to continue


נערך לאחרונה ע"י maind בתאריך 18-02-2008 בשעה 12:46.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 04:51

הדף נוצר ב 0.06 שניות עם 10 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר