עבור לתוכן

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

Featured Replies

פורסם
  • מחבר

אגב עוד דבר שממש חסר לי ב-++C של ארדואינו, הוא איבנטים.

זה מאד נוח שאתה יכול לכתוב קלאס קטן, שיש לו כמה איבנטים שהגדרת,

ואז הוא מקפיץ אותם כשקרה משהו.

  • תגובות 46
  • צפיות 6.4k
  • נוצר
  • תגובה אחרונה
פורסם

אגב עוד דבר שממש חסר לי ב-++C של ארדואינו, הוא איבנטים.

זה מאד נוח שאתה יכול לכתוב קלאס קטן, שיש לו כמה איבנטים שהגדרת,

ואז הוא מקפיץ אותם כשקרה משהו.

לאיזה events אתה מצפה בדיוק?! זה כולה ג'וק עם כמה רגלי מתכת...

יש לך פסיקות (interrupts) לשינויי מתח על פינים, ויש פסיקות לטיימרים.

פורסם

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

אם אתה באמת באמת באמת לא יכול בלי הדברים האלה אז תמיד אפשר לעבור לפתח על ה-NETDUINO. הוא עושה שימוש במיקרו בקר עם תדר שעון של 48 מגה הרץ, הרבה יותר זיכרון אבל משיג ביצועים גרועים בהרבה. יש מחיר לזה.

פורסם
  • מחבר

כאמור,

הבעיה שלי עם ה-Netduino היא לא הביצועים,

אלא הנגישות מבחינת מחיר.

כשמיקרו-בקר עולה 4.5$,

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

כשהוא עולה 30$, אז זה כבר נהייה בעייתי..

חבל שאין עוד חברות שמייצרות מיקרו-בקרים עם .NET CF חוץ מהיחידה הנ"ל - Secret Labs.

פורסם

אז תכתוב ספריית איוונטים. יש אין ספור כאלו ב-C++ שאתה יכול להסתמך עליהם. זה היופי בארדוינו, קהילה.

פורסם

אני כבר לא מחזיק את עצמי שלא להגיב... :kopfpatsch:

ב-4.5$ הבקר גם לא מכין קפה ולא יודע להציג לך הולוגרמות...

אתה רוצה לתכנת ב-C#? עזוב את המיקרובקרים ותחזור למחשב שלך.

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

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

מתכנת טוב הוא זה שמעתיק את מה שהוא צריך ממישהו שכבר עשה את זה...

ומתכנת מעולה גם יודע איפה למצוא מאיפה להעתיק...

רוצה להיות מתכנת? תתחיל לכתוב את מה שאתה צריך או תעתיק מאיפה שהוא.

בינתיים אתה רק מחפש סיבות למה הבקרים לא טובים לך.

פורסם
  • מחבר

אז תכתוב ספריית איוונטים. יש אין ספור כאלו ב-C++ שאתה יכול להסתמך עליהם.

האמת לא חשבתי שזה יהיה אפשרי בכלל..

אחפש על זה בגוגל, נראה מה יצא..

תודה

פורסם

האמת לא חשבתי שזה יהיה אפשרי בכלל..

אחפש על זה בגוגל, נראה מה יצא..

תודה

חפש מידע בנושא Design Patterns ,ספציפית על Observer.

ואני בהחלט מסכים איתך, אין שום סיבה שלא תהיה סביבת פיתוח Object Oriented אמיתית במחיר סביר. זה הכל הרי פונקציה של הקומפיילר, הרי לא חייב להיות Framework מתחת.

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

פורסם
  • מחבר

אחרי מחשבה של כמה ימים בנושא,

המסקנה היא שהלוח עם הפיתוח הכי נוח בו, הוא בעצם Raspberry Pi.

אומנם זה לא מיקרו-בקר, אלא כבר מיקרו-מחשב,

ועדיין, המחיר המאד משתלם שלו - 35$,

+החומרה העשירה, כולל יציאה למסך, חיבורי USB, חיבור Ethernet, יציאת Sound אפילו, ועוד,

(וכל אלה בנוסף ל-GPIO)

והיכולת להריץ שם Executables מכל שפה שנוח לכם להשתמש בה בעצם, כולל NET. אפילו, בעזרת mono,

כל אלה, הופכים אותו למנצח.

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

שפה קצת יותר מלוטשת מאשר ++C של לפני 30-40 שנה.

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

החלוקה שאני רואה, נכון להיום(אפריל 2013), היא כזו:

אם אתם צריכים משהו שמתחבר לממסר, או משהו פשוט וקטן עם כמה חיישנים, לכו על ארדואינו, במיוחד הלוחות ב-4.5$.

אבל אם אתם צריכים משהו שמתחבר לאינטרנט, או שמתחבר להתקן USB כלשהו, או שייתחבר למסך טוב,

יצא לכם ברוב המקרים יותר נוח, והרבה יותר משתלם, ללכת על Raspberry Pi.

למעשה,

מספיק שאתם שוקלים לקנות Shield כלשהו, שרובם נמכרים ב-20$ ויותר

(אני מדבר על השילדים הרציניים, כגון Wi-Fi, Bluetooth, USB Host, או חיבור לאנרדואיד ADK)

במקרה כזה, חבל על הכסף, ויותר חבל על הזמן פיתוח שלכם - לכו על Raspberry Pi.

גם תחסכו המון כסף, וגם תוכלו לכתוב בכל שפה שתרצו. לפי מה שנוח לכם :)

במיוחד בשפות חדשות יותר, כגון #C, ג'אווה, Python, וכו'.

פורסם

אחרי מחשבה של כמה ימים בנושא,

המסקנה היא שהלוח עם הפיתוח הכי נוח בו, הוא בעצם Raspberry Pi.

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

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

פורסם

אתה מפספס את הייעוד של מיקרובקרים שזה ה Real Time.

מכשירי אנדרואיד ומחשבים מבוססי ARM כמו ה RPI הם לא מערכות זמן אמת.

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

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

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

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

לשימוש הספציפי שלך כנראה שאין צורך בביצועים כאלו ולך עדיף לעבוד עם מחשב שמפשט הרבה דברים. לדברים שצריכים Real Time צריך מערכות שבאמת יכולות לעבוד ב Real Time וזה הייעוד של מיקרובקרים, לא מחשב זול שיכול להדליק את הדוד דרך האינטרנט.

פורסם
  • מחבר

הי wombat

אבל זה בדיוק העניין..

מי שמשתמש במיקרו-בקרים בעבודה שלו,

כנראה שצריך באמת מיקרו-בקרים.

אבל אנשים שמשתמשים בזה בתור תחביב, ברוב הפרוקטים שלהם לא צריכים את ה-real-time,

ומה שהם כן צריכים את זה השליטה והבקרה..

כמו שאתה אומר, הכל תלוי מה אתה צריך..

פורסם

הי wombat

אבל זה בדיוק העניין..

מי שמשתמש במיקרו-בקרים בעבודה שלו,

כנראה שצריך באמת מיקרו-בקרים.

אבל אנשים שמשתמשים בזה בתור תחביב, ברוב הפרוקטים שלהם לא צריכים את ה-real-time,

ומה שהם כן צריכים את זה השליטה והבקרה..

כמו שאתה אומר, הכל תלוי מה אתה צריך..

מה אתה צריך? שמישהו יכתוב לך JVM על פלטפורמה עם 8 ק"ב ו-16 מגה-הרץועוד בזול כדי שתוכל להוציא להוציא 1 לוגי על רגל עם 50 שורות קוד במקום 60?

פורסם
  • מחבר

חחחח :)

מתברר שהבחור הזה לא עצר ב-Java.

תראה עוד עמוד באתר שלו:

Linux on an 8-bit micro

A successful experiment in running real Linux on an 8bit AVR

http://dmitry.gr/index.php?r=05.Projects

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים