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

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



  #2  
ישן 03-03-2012, 09:20
  משתמש זכר DigiGil DigiGil אינו מחובר  
 
חבר מתאריך: 20.10.06
הודעות: 202
שלח הודעה דרך MSN אל DigiGil
הפלט של התוכנית המוצגת הוא..
בתגובה להודעה מספר 1 שנכתבה על ידי dor77 שמתחילה ב "בבקשה עזרה - חומרה ושפת C"

לולאת FOR מבצעת מניה (ספירה) בין הערך ההתחלתי (X=0) לבין הערך שמופיע בתנאי (X<5), כלומר בקוד (תוכנית) שהצגת, ערכו של X יתחיל ב-0, יתקדם ב-1, יגיע עד 4 (כולל) ואז הלולאה תסתיים.
הערכים שיהיו ל-X במהלך הלולאה הם: 0,1,2,3,4
char הוא משתנה בן 8 ביט, רק שים-לב שיש קומפיילרים (התוכנה שהופכת את הטקסט שכתבת - התוכנית, לקובץ הרצה שניתן לטעון אל מיקרובקר ולהריץ אותו) שמתייחסים ל-char כערך בן 7 ביט, חיובי או שלילי ויש קומפיילרים שמתייחסים ל-char כערך חיובי בן 8 ביט (או במילים אחרות בייט - Byte).
אני מניח שבמימוש שלכם הכוונה היא ל-byte שערכו משתנה בין 00000000 ל-00000100.

אני לא מכיר את מימוש החומרה אצלכם, אבל אני מניח שאל הפורט בכתובת 0x378, מחובר ממיר DAC (דיגיטלי לאנלוגי) כלשהו וכשהקוד שלך שולח ערכים הולכים וגדלים (0,1,2,3,4) אל ה-DAC, אז ביציאת החומרה מתקבל מתח שהולך וגדל לינארית. אם בסיום הלולאה הזו (0 עד 4) חוזרים עליה שוב ושוב, מן הסתם במוצא ה-DAC יתקבל אות שיראה בסקופ כמו "שן-מסור".

בברכה,
דיגיגיל
_____________________________________
_- סיוע בהשלמת פרויקט-גמר להנדסאים -_
(האתר digigil.com נסגר)


תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #4  
ישן 03-03-2012, 11:33
  משתמש זכר DigiGil DigiGil אינו מחובר  
 
חבר מתאריך: 20.10.06
הודעות: 202
שלח הודעה דרך MSN אל DigiGil
מה שיהיה במוצא הפורט...
בתגובה להודעה מספר 3 שנכתבה על ידי dor77 שמתחילה ב "זהו, זה מה שאני שואל, כאשר..."

בהנחה שאתה כותב ערך של 8 ביט (char) אל פורט ברוחב 8 ביט, מה שיצא מהפורט, זהו ייצוג חשמלי של הערך שנכתב, על-גבי הפינים שמהווים את יציאות הפורט.
אם X=1 יצא 00000001
אם X=2 יצא 00000010
אם X=3 יצא 00000011
אם X=4 יצא 00000100
וכך הלאה...
בדרך-כלל, כל סיבית בפורט מסומנת כ-D0,D1,D2,D3 וכך הלאה, בהתאם למיקומה בפורט. כאשר אתה שולח ערך אל הפורט, כל סיבית מהערך, מופיעה במיקום המתאים לה בפורט. דהיינו, אם תשלח לפורט את הערך 00000101 אז הסיבית LSB (הימנית ביותר) שערכה 1, תופיע בפין "הימני ביותר" של הפורט, שמסומן כ-D0 או Q0 (הסימון המדויק לא משנה) וגם הסיבית השלישית מימין (D2) תוציא "1". כלומר, שמונת הביטים של הבייט שאתה שולח אל הפורט, "משתקפים" ביציאות של הפורט, כל סיבית בערך שנשלח, מתאימה לפין ספציפי של הפורט.

מקווה שזה ברור דיו, כי זה התיאור הפשוט ביותר שאני יכול לכתוב. :-)
_____________________________________
_- סיוע בהשלמת פרויקט-גמר להנדסאים -_
(האתר digigil.com נסגר)


תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #9  
ישן 03-03-2012, 15:48
  משתמש זכר DigiGil DigiGil אינו מחובר  
 
חבר מתאריך: 20.10.06
הודעות: 202
שלח הודעה דרך MSN אל DigiGil
תשובות
בתגובה להודעה מספר 8 שנכתבה על ידי dor77 שמתחילה ב "מצטער,לא ראיתי שענו לי.. רק..."

סדר הופעת הלדים או המפסקים בסרטוט אינו חשוב. רק הסימון שלהם חשוב. כלומר D0 הוא תמיד ה-LSB ו-D7 תמיד ה-MSB (הסיבית המשמעותית ביותר) כאשר מדובר על בייט בן 8 ביטים.

"להפוך ספרה למספר"? חשבתי על זה כמה שניות ולא הבנתי למה אתה מתכוון, אז ניחשתי. אתה כנראה מעוניין להפוך ספרה בקוד ASCII לערך מספרי ששווה לספרה...
הקוד של התו "0" ב-ASCII הוא 0x30 (בדצימלי 48). כדי להמיר את התו "0" לערך מספרי מקביל לו, אכן צריך לחסר 48 מקוד ה-ASCII של התו. כך גם לגבי התווים של שאר הספרות (1-9).

והשאלה האחרונה - כמה בתים יש ב-int? ובכן התשובה היא שזה תלוי בקומפיילר (ובמקרה שלך, כנראה גם במה שמשרד החינוך אומר ;-)) או יותר מדויק - תלוי בפלטפורמה עבורה אתה כותב קוד.
בכל הקומפיילרים שאני מכיר למיקרובקר 8051, הטיפוס int הוא ברוחב של 2 בתים (בייטים). אבל אם תכתוב תוכנית בסביבת חלונות (Windows), בקומפיילר של מיקרוסופט (למשל ++Visual C), אז כשתקמפל אותה, תגלה שהקומפיילר מקצה 4 בתים עבור טיפוס מסוג Int. בחלונות, טיפוס מידע ברוחב 2 בתים נקרא בכלל Short וגם בשפת ANSI C זה כך.
לסיכום, התשובה הקצרה היא שתברר כמה בייטים יש ב-Int לפי הגדרת החומר עליו תצטרך להבחן בסופו של דבר. התשובה הארוכה יותר היא, שכאשר תגיע לעבוד בתעשיה ותצטרך לכתוב קוד שמשתמש בטיפוס int (או כל טיפוס נתונים אחר), תבדוק קודם כל בדקומנטציה של הקומפיילר וכך תדע כמה בייטים מוקצים על-ידי הקומפיילר עבור כל טיפוס מידע.

בברכה,
דיגיגיגיל
_____________________________________
_- סיוע בהשלמת פרויקט-גמר להנדסאים -_
(האתר digigil.com נסגר)


תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

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

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

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

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



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

הדף נוצר ב 0.05 שניות עם 12 שאילתות

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

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