ABA


"מחפש חומר לימוד בC כתיבה למיקרו מעבדים"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #14758 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 14758
carmi_s 
חבר מתאריך 1.6.03
1003 הודעות
   13:27   25.05.08   
אל הפורום  
  מחפש חומר לימוד בC כתיבה למיקרו מעבדים  
 
   חיפשתי בחומר שקיים פה אין התיחסות זה רק חומר בסיסי
אני מחפש ללמוד לתכנת בC למיקרו מעבדים מישהו מכיר אתרים או חומר טוב בנושא


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  למה כבודו מתכוון? Phinox  26.05.08 18:41 1
     אני ממש נהנה לקרוא את התגובות שלך :) מפורטות וכתובות טוב, כל הכבוד! Sn00py  26.05.08 22:13 2
         תודה! :) Phinox  27.05.08 10:03 3
     אוקי אני יהיה ספציפי אני יודע לתכנת מיקרו מעבד באסמבלר carmi_s  27.05.08 13:21 4
         אתה לא עונה על השאלה העיקרית... Phinox  27.05.08 17:28 5
             עזרתה המון אבל.. carmi_s  28.05.08 10:02 6
                 אוקיי... Phinox  28.05.08 20:42 7
                     מה זההההההה כניראה היה לך משעמם :X B D K 28.05.08 20:53 8
                         חחח Phinox  28.05.08 20:56 9
                         חוצפן כפוי טובה Sn00py  28.05.08 21:26 10
                     WOW עזרתה לי בגדול נתתה כול הרבה לא יודע מאיפה להתחיל carmi_s  29.05.08 14:13 11
                         בכיף..! Phinox  29.05.08 18:16 12

       
Phinox 
חבר מתאריך 3.9.05
3489 הודעות
   18:41   26.05.08   
אל הפורום  
  1. למה כבודו מתכוון?  
בתגובה להודעה מספר 0
 
   בס"ד

שלום רב!

האם אתה מתכוון לתכנות של מיקרו-בקרים/מעבדים וכיוצ"ב? אם כן, אזי אין דבר כזה "ללמוד לתכנת ב-C למיקרו-מעבדים". אתה לומד שפת C, מתחילתה ועד סופה, על מחשב ביתי רגיל, ואז אתה מיישם אותה, בדיוק אותו הדבר כמו שלמדת ויישמת על מחשב ביתי רגיל, על מיקרו-בקרים/מעבדים שאותם אתה רוצה לתכנת.

שפת C זו שפה אחת, אין לה כמה נגזרות, כך שזו מתאימה למחשבים ביתיים וזו למיקרו-בקרים/מעבדים. אם היא למיקרו-בקר/מעבד זה או אחר, היא עדיין אותה השפה! (בדיוק כמו שעברית היא אותה העברית שתשמע בארץ ובשכונות עבריות בארצות זרות.)

אז מה כן שונה? מה ששונה הוא הספריות והפונקציות שבהן תשתמש בתוכניות שלך, בסביבת הפיתוח בה תשתמש ובהגדרות של אותה סביבת עבודה בעיקר.

היש מבין? ;)

בברכת כל טוב והצלחה רבה (!) בכל, אריה.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Sn00py 
חבר מתאריך 1.8.02
2954 הודעות
   22:13   26.05.08   
אל הפורום  
  2. אני ממש נהנה לקרוא את התגובות שלך :) מפורטות וכתובות טוב, כל הכבוד!  
בתגובה להודעה מספר 1
 
  

\x6C\x65\x65\x74\x68\x61\x78\x30
\x72\x3A\x2D\x29
tresp4sser


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Phinox 
חבר מתאריך 3.9.05
3489 הודעות
   10:03   27.05.08   
אל הפורום  
  3. תודה! :)  
בתגובה להודעה מספר 2
 
   בס"ד

תגובות כמו שלך רק מעודדות אותי להמשיך -- תודה!

בברכה, אריה.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
carmi_s 
חבר מתאריך 1.6.03
1003 הודעות
   13:21   27.05.08   
אל הפורום  
  4. אוקי אני יהיה ספציפי אני יודע לתכנת מיקרו מעבד באסמבלר  
בתגובה להודעה מספר 1
 
   אני גם יודע שאסמבלר מהיר יותר אבל אני צריך מדריכים ל שפת C
איך כותבים לפורטים חיצוניים איך קוראים פורטים
זה הכוונה שלי אין לי אפילו רעיון איך לעשות את זה


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Phinox 
חבר מתאריך 3.9.05
3489 הודעות
   17:28   27.05.08   
אל הפורום  
  5. אתה לא עונה על השאלה העיקרית...  
בתגובה להודעה מספר 4
 
   ערכתי לאחרונה בתאריך 27.05.08 בשעה 18:13 בברכה, Phinox
 
בס"ד

זה שאתה יודע אסמבלר זה מצויין, ואם עדיין לא הבנת למה אתה עוד תבין בעתיד... אבל שפת C, את השפה הזאת אתה יודע? אם לא, תתחיל דבר ראשון מללמוד אותה... (קודם כל זוחלים, ואז רצים...)

אם אתה כן יודע שפת C, באיזו סביבת פיתוח אתה משתמש? ועם איזה מיקרו-בקר/מעבד אתה עובד?

אם אתה כותב ל-8086 (מחשב ביתי רגיל), אזי יש לך מ-ל-א מדריכים איך לתקשר עם התקנים חיצוניים בעזרתו (השתמש בגוגל)...

אם אתה מתכוון שאתה משתמש במיקרו-בקר (כגון AVR, PIC וכיוצ"ב) ורוצה לכתוב לו תכנית ולא יודע איך לפנות לפורטים של המיקרו-בקר, אזי גם לזה יש המון מדריכים באינטרנט (במיוחד באתרי-בית של החברה של המיקרו-בקר ושל הסביבת פיתוח בה אתה משתמש).

כמו שאמרתי, כדי לעזור לך, דבר ראשון תאמר לנו באיזו סביבת פיתוח אתה משתמש, ובאיזה מיקרו-בקר/מעבד..! ;)

כדי לקצר את האשכול, ברמת העיקרון, אם אתה משתמש במיקרו-בקר של 8-ביט, בדר"כ הייצרן (הן של המיקרו-בקר והן של סביבת הפיתוח) מספק ספריית כותר (ששמה תואם לשם הרכיב, בדר"כ), המכילה בתוכה את כל ההכרזות וההגדרות של פונקציות שמטרתן להקל עליך שימוש ברכיב (קריאה מפורטים, כתיבה לפורטים וכדומה). את אותה הספריה אתה פשוט מכיל בראשית הקובץ קוד-מקור אותו אתה כותב, ומשתמש בפונקציות הללו מתי שאתה צריך ורוצה.

איך אתה משתמש בהן? שוב, זה כבר תלוי באיזה קובץ כותר אתה משתמש, באיזו סביבת פיתוח ובאיזה מיקרו-בקר. כפי שכבר ציינתי, לרוב, 95% מהפעמים, כל התיעוד הזה שאתה מחפש, כולל דוגמאות, נמצא באתר הבית של סביבת הפיתוח והמיקרו-בקר בהם אתה משתמש.

מקווה שעזרתי..!

בברכת כל טוב, אריה.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
carmi_s 
חבר מתאריך 1.6.03
1003 הודעות
   10:02   28.05.08   
אל הפורום  
  6. עזרתה המון אבל..  
בתגובה להודעה מספר 5
 
   איזה סביבת פיתוח יש למיקרו בקר את התוכנה לבקר כותבים בווינדוס אבל אני מניח שזה לא הככונה שלך לסבבית פיתוח נניח אני כותב תוכנה ל8086
אז אני משתמש באימולטור שמריץ את התוכנה אחרי שהיא מוכנה אני צריך לצרוב אותה לבקר כול המעבר הזה מתוכנה במחשב לבקר חדש לי לחלוטין.

חיפשתי בגוגל או שאני כותב לא נכון או שאני למבין אבל לא מצאתי מדריכים
עשיתי חיפוש לתיכנות C למיקרו בקר ולא מצאתי כיוונתה אותי לחפש בחברה שמוציאה את הבקר מודה שלא חשבתי על זה .

C אני מתחיל ללמוד ויש לי רקע תיכנות בשפות אחרות אז זה יתקדם מהר יחסית
חשוב לי המעבר בין קוד במחשב לצריבה לבקר שיעבוד על פי התוכנה שכתבתי
זה חלק שכרגע זר לי.
.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Phinox 
חבר מתאריך 3.9.05
3489 הודעות
   20:42   28.05.08   
אל הפורום  
  7. אוקיי...  
בתגובה להודעה מספר 6
 
   ערכתי לאחרונה בתאריך 28.05.08 בשעה 21:21 בברכה, Phinox
 
בס"ד

ממצב?

תראה... כדי לתכנת מיקרו-בקרים, אתה צריך שני דברים, תוכנה (ואין כאן הכוונה לתוכנה שאתה כותב עבור המיקרו-בקר) וחומרה.

כשאני אומר תוכנה, הכוונה היא לסביבת פיתוח. את הסביבת פיתוח הזאת אתה מריץ על המחשב הביתי שלך, או על המחשב במעבדה או על כל מחשב שדרכו אתה מתכנת בעצם. סביבת פיתוח מכילה בתוכה, לרוב, ארבעה מרכיבים עיקריים: עורך טקסטים (שבו אתה כותב את הקוד של התוכנה שעתידה להפעיל את המיקר-בקר/מעבד), מהדר (מה שהופך לך את הקוד בסופו של דבר לקובץ פעיל, שאתה יכול להפעיל/לצרוב על המיקרו-בקר/מעבד המיועד), דיבאגר (תוכנת עזר שבעזרתה אתה מאתר ומנפה תקלות בקוד שלך) ולעיתים גם אימולטור (שזה, בעצם, תוכנה שמדמה לך איך התוכנה שכתבת תרוץ על המיקרו-בקר/מעבד המיועד).

בקטע של החומרה, זה די נחלק לשני מצבים בעצמו: אם אתה כותב תוכנה למיקרו-בקר, אזי נדרשת חומרה טיפה שונה, ואם אתה כותב תוכנה למיקרו-מעבד, אזי גם נדרשת חומרה מעט שונה. מיקרו-מעבדים, לרוב, קוראים מהתקני זיכרון חיצוניים (כמו במחשב שאתה משתמש בו ברגע זה ממש). זה בדיוק מה שקורה כשאתה מתכנת תוכנה רגילה, במחשב ביתי. התוכנה נשמרת על ההארד-דיסק, המעבד של המחשב קורא את התוכנה מההארד-דיסק, ומבצע אותה.

במיקרו-בקרים, הסיפור לרוב הוא שונה, אולם, ישנם גם מיקרו-בקרים שיכולים לעבוד באותה האנאלוגיה כמו מיקרו-מעבדים (היינו, קריאה מהתקני זיכרון חיצוניים). במרבית המיקרו-בקרים, הזיכרון הלא-נדיף (ה"הארד-דיסק") נמצא על השבב עצמו, וע"מ לכתוב אליו, אתה נדרש בעצם "לצרוב" את השבב, פעולה שבה אתה לוקח את הקוד שכתבת, ומעתיק אותו אל הזיכרון הנדון של המיקרו-בקר.

ע"מ לעשות זאת, משתמשים לרוב במה שנקרא "צורב", שזה מעגל אלקטרוני שיודע לקחת את הקוד שכתבת ולצרוב אותו אל הזיכרון הלא-נדיף של המיקרו-בקר.

אז, לסיכום, מה שאתה צריך בעצם זה שני דברים: סביבת פיתוח, וצורב שבבים.

כשיש לך את שניהם, כל מה שאתה צריך לעשות זה לכתוב את הקוד בסביבת פיתוח, ואחרי שאתה בטוח שהוא תקין, פשוט לחבר את הצורב למחשב (לרוב דרך שקע USB), להכניס לתוכו את המיקרו-בקר, לתת לסביבת פיתוח פקודת צריבה (אחרי שהגדרת לה לאן מחובר הצורב, כמובן), ומשם הרומן כבר ממשיך לבד ביניהם... ;)

הייתי ממליץ לך על כמה צורבים וסביבות פיתוח, אבל אין לי מושג עם איזה מיקרו-בקר אתה עובד..! :(

תראה... לפי השאלות שלך, אני מניח שאתה לא כ"כ מנוסה בעניין, אז תן לי להמליץ לך גם על מיקרו-בקר להתחיל איתו, ואז אני גם אוכל להמליץ לך על סביבת פיתוח וצורב, ומשם גם תוכל להמשיך ולהתפתח.

אני, בעצמי, התחלתי עם PIC מבית Microchip, ועל סדרת המיקרו-בקרים הזאת אני ממליץ לך גם כן בתור התחלה. המיקרו-בקרים האלו בנויים לחובבנים/מתחילים/מתלמדים באלקטרוניקה (הן מבחינה פיסית והן מבחינת קושי השימוש וההבנה של המיקרו-בקר).

יש עליהם ה-מ-ו-ן (ואני מתכוון ה-מ-ו-ן) מידע (באינטרנט/ספרים), הם נתמכים נורא (משמע, קהל משתמשים נורא גדול, משמע פורומים אקטיביים והרבה אנשים לפנות אליהם ע"מ לקבל ייעוץ), הם נורא חזקים (היינו, תדר שעון גדול, המון אפשרויות תקשורת עם רכיבים אחרים וכו') ונורא איכותיים (המיקרו-בקר לא ישרף/יפסיק לעבוד לך תוך שתי נגיעות. הם בנויים נגד חשמל סטטי, עם זיכרון פלאש שמקנה לך י-ם פעמים של ניסוי ותהייה עם המיקרו-בקר וכו'), נ-ו-ר-א זולים (בכלל, כל המוצרים של Microchip זולים בהשוואה למה שתמצא בחוץ) ושוב, נורא נ-ו-ר-א קלים לעבודה ולהבנה בעבור מתחילים.

הנה האתר בית של היצרן: http://www.microchip.com.

כשתכנס אל האתר הזה אתה תשים לב שזו בעצם הנקודה היחידה שתצטרך לבקר בה ע"מ להתחיל לעבוד עם המיקרו-בקרים שלהם. הם מספקים חנות ישירה לרכישת כל מגוון המוצרים שהם מציעים (מיקרו-בקרים, זיכרונות, צורבים, ספרים וכו'), וכמובן, המון מאמרים (במיוחד בעבור מתחילים), דפי נתונים של הרכיבים שלהם וכו'.

ועכשיו, להמלצות!

בנוגע לסביבת פיתוח, בעבור מתחיל, אין טובה יותר מזאת ש-Microchip בעצמם פיתחו, MPLAB IDE. היא חינמית, היא נ-ו-ר-א עוצמתית, היא תומכת בכל המיקרו-בקרים שלהם, ולדעתי, היא פשוט מושלמת בעבור מתחילים.

אם אתה רוצה המלצה ישירה לצורב, הייתי ממליץ לך על ה-PICSTART Plus שלהם. הוא תומך במרבית (אם לא בכל) המיקרו-בקרים שלהם ובא בתאימות מושלמת עם הסביבת פיתוח שלהם, MPLAB IDE.

האמת היא, אבל, שלא הייתי ממליץ לך לקנות את אלו ולהתחיל איתם. מיקרו-בקר לא שווה הרבה, אלא אם הוא בא מובנה במעגל אלקטרוני מסויים, מה שאומר שאתה תצטרך לתכנן גם מעגל אלקטרוני בשביל המיקרו-בקר, ולא רק את התוכנה שתרוץ עליו.

מה שכן הייתי ממליץ לך לעשות זה לקנות את הערכת פיתוח שלהם, PICKit 1 Flash Starter Kit. זה בעצם לוח אלקטרוני שהוא גם צורב, אבל גם מאפשר לך לבדוק את הקוד שלך ע"י נורות (לדים) שנמצאים לך על הלוח ומחוברים למיקרו-בקר.

בערכה הזאת אתה מקבל את הלוח האלקטרוני המדובר, מיקרו-בקר דגם PIC12F675 (מושלם בעבור מתחילים) וכמובן דיסק שמכיל את הסביבת פיתוח MPLAB IDE, קבצי קוד-מקור לדוגמה, ו-, הכי חשוב בשבילך, מדריכים שמסבירים איך בעצם לצירוב מיקרו-בקר, איך לתקשר איתו וכו'.

אגב, מה שיפה הוא שהחברה הזאת (Microchip) מציע לך המון לוחות פיתוח שמתחברים ללוח הזה, לוחות עם מנועים, מסכי LCD ועוד שאר טובין, מה שמאפשר לך בעצם להתנסות ולהתלמד בתחומים חדשים..! הכל, כמובן, בא כמיטב המסורת -- עם מדריכים, קוד-מקור מוכן וכיוצ"ב... ;)

אני מניח שזה הזמן לציין שמה שהמלצתי לך לעיל אלו לא הסביבת פיתוח והצורב היחידים שקיימים בעולם כולו בעבור המיקרו-בקרים האלו. ממש לא! המיקרו-בקרים האלו כ"כ נפוצים ונמצאים בשימוש כ"כ גדול, שיש עוד המון סביבות פיתוח אחרות וצורבים אחרים, חלקם יקרים יותר, חלקים זולים יותר -- אבל מה שבטוח, נכון לעכשיו, כמתחיל, מה שהמלצתי לך עליו יספק אותך מעל ומעבר.

בנוגע לספרות בנדון, חפש באמאזון (http://www.amazon.com) בעבור השאילתא: "Microchip PIC Microcontroller", ותראה כמה הוא ימצא לך. פשוט תבחר אחד, תזמין לארץ, ושיהיה ר-ק בהצלחה ובהנאה..! (החנות הזאת מייצאת ספרים לארץ, והיא נורא בטוחה ואמינה -- מניסיון. ככה שאין לך מה לחשוש מלרכוש דרכה ספרים.)

החנות של מיקרו-צ'יפ, מיקרו-צ'יפ דיירקט (http://www.microchipdirect.com), מייצאת לארץ גם כן, ככה שתוכל להרגיש חופשי לקנות גם משם. (שוב, בטוח ואיכותי, בדיוק כמו אמאזון. מניסיון! ;))

חח וואו... זה יצא ארוך משחשבתי...

זהו זה, בכל אופן... מקווה שעזרתי...

בברכת כל טוב והצלחה רבה (!) בכל, אריה.

נ.ב: הייתי ממליץ לך בחום (!) ללמוד קודם כל את שפת C, ורק אח"כ להשתמש בה. אתה פשוט עשוי להתקל בדברים או לראות קטע קוד שאתה חושב שאתה מבין מה הוא עושה, אבל לא ממש לעומק, וזה מה שידפוק אותך באיזשהו שלב בתכנון/יישום של המעגל אותו אתה מתכנן. גם לזה יש לי המלצות לספרים, רק תבקש...

בברכת כל טוב (בשנית), אריה. ;)


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
B D K
חבר מתאריך 11.12.05
3371 הודעות
   20:53   28.05.08   
אל הפורום  
  8. מה זההההההה כניראה היה לך משעמם :X  
בתגובה להודעה מספר 7
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Phinox 
חבר מתאריך 3.9.05
3489 הודעות
   20:56   28.05.08   
אל הפורום  
  9. חחח  
בתגובה להודעה מספר 8
 
   ערכתי לאחרונה בתאריך 28.05.08 בשעה 20:57 בברכה, Phinox
 
בס"ד

חח כן אה..? ;)

הבנאדם פשוט מתחיל, אז אני מסביר לו כמה שיותר מפורט שאני יכול... אני פשוט חוסך לעצמי עבודה בעתיד; יבוא מישהו עם אותה השאלה, יעשה חיפוש, ואופ -- חסכתי לנו אשכול לא נחוץ בפורום..!

יאללה, עפתי לי לאכול... נשתמע..!

בברכה, אריה.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Sn00py 
חבר מתאריך 1.8.02
2954 הודעות
   21:26   28.05.08   
אל הפורום  
  10. חוצפן כפוי טובה  
בתגובה להודעה מספר 8
 
   תמשיך עם התגובות האלה ואתה עף מכל רוטר, על אחריותי.
תעריך שנותרו עוד מעט אנשים כמו אריה שמשקיעים כל כך בתגובות ללא שום מטרה.

אריה, כרגיל, כל הכבוד ותודה!

\x6C\x65\x65\x74\x68\x61\x78\x30
\x72\x3A\x2D\x29
tresp4sser


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
carmi_s 
חבר מתאריך 1.6.03
1003 הודעות
   14:13   29.05.08   
אל הפורום  
  11. WOW עזרתה לי בגדול נתתה כול הרבה לא יודע מאיפה להתחיל  
בתגובה להודעה מספר 7
 
   נתחיל בC שזה בעצם היה הפתיחה לאשכול הזה
אני יתחיל לקרא כול מה שאפשר זה מעניין
למרות שכול כך קל לכתוב באסמבלר לפורטים למה בC זה כזה בלאגן
טוב יש דרך ארוכה

שמח לקרא מה שאתה כותב זה לא פעם ראשונה שאתה עוזר
אנשים מסויימים זוכרים יותר מאחרים
תודה


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Phinox 
חבר מתאריך 3.9.05
3489 הודעות
   18:16   29.05.08   
אל הפורום  
  12. בכיף..!  
בתגובה להודעה מספר 11
 
   בס"ד

תמיד אוהב לעזור..! ;)

אהמ... כמו שהסברתי, בשפת C יש פונקציות שעושות את זה... שוב, זה תלוי במיקרו-בקר/מעבד, בסביבת פיתוח ובספריות שבהן אתה משתמש כשאתה כותב את התוכנה...

אתה תמיד יכול להמשיך את האשכול ולשאול שאלות על מיקרו-בקר/מעבד ספציפי, ואני ואחרים כאן נשמח לעזור לך עד כמה שנוכל..!

בברכת כל טוב והצלחה רבה (!) בכל, אריה.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net