ארכיון הקטגוריה: מיקרו-בקרים

תכנות MSP430 ב-CCS: טיימר פשוט

אנחנו ממשיכים את סדרת הפוסטים הפופולרית (נניח) על תכנות בסיסי של מיקרו-בקר MSP430G2553 הוותיק של TI עם סביבת הפיתוח Code Composer Studio, והפעם ניצור משהו דמוי פונקציית millis של ארדואינו, בהתבסס על טיימר ועל פסיקה שלו.

לוח MSP430G2 Launchpad, מבט מהצד
להמשיך לקרוא תכנות MSP430 ב-CCS: טיימר פשוט

גישה ל-FLASH ו-EEPROM ב-AVR החדשים

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

להמשיך לקרוא גישה ל-FLASH ו-EEPROM ב-AVR החדשים

RTFDS

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

מיקרו-בקר ATmega32U4 על לוח ארדואינו מיקרו
מיקרו-בקר ATmega32U4 על לוח ארדואינו מיקרו
להמשיך לקרוא RTFDS

איפה אני ואיפה ארדואינו

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

תקריב של לוח הארדואינו הראשון שלי
ה-PolyFuse הירוק שאין לאף אחד אחר
להמשיך לקרוא איפה אני ואיפה ארדואינו

NRND – סיבה לבהלה?

לא מזמן, חברת Microchip הכריזה על המיקרו-בקר ATmega328P חביב המייקרים בתור NRND – "לא מומלץ לתכנונים חדשים". זוהי הזדמנות טובה להכיר את המונח הזה, ולהבין מה הוא אומר והאם יש לנו וליצרני הארדואינו ממה לחשוש.

להמשיך לקרוא NRND – סיבה לבהלה?

גישה מהירה ל-Struct, בלי כפל

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

להמשיך לקרוא גישה מהירה ל-Struct, בלי כפל

פרויקט: מחוון שפת הקלדה

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

מחוון השפות בפעולה
מחוון השפות בפעולה
להמשיך לקרוא פרויקט: מחוון שפת הקלדה

נקמת הסינים: Nano Every בחצי מחיר

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

ה-Every הסיני בקופסה המקורית
ה-Every הסיני בקופסה המקורית
להמשיך לקרוא נקמת הסינים: Nano Every בחצי מחיר

העלות הסמויה של struct

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

מימין לאט, משמאל מהר – לפרטים, קיראו למטה
להמשיך לקרוא העלות הסמויה של struct

איך צורבים קוד מארדואינו ל-ATmega4809

גם אם כותבים קוד ארדואינו בסביבת הפיתוח הבסיסית, לא חייבים להעלות אותו ללוחות ארדואינו קנויים – אפשר למעגלים ולוחות משלנו, כל עוד המיקרו-בקר מצויד ב-Bootloader הנכון. העסק נהיה קצת יותר מורכב כשעוברים לקוד שמיועד ל-Arduino Nano Every החדש. הנה הסיבות, ודרך קלה וזולה להתמודד איתן.

צריבה של ATmega4809 מסביבת הפיתוח של ארדואינו - החומרה
צריבה של ATmega4809 מסביבת הפיתוח של ארדואינו – החומרה
להמשיך לקרוא איך צורבים קוד מארדואינו ל-ATmega4809