עבור לתוכן

האם קיימת שפת Assembly לבקרי Arduino לקהל הרחב?

Featured Replies

פורסם

האם קיימת שפת Assembly לבקרי Arduino לקהל הרחב? או תכנות מתבצע בסביבת C בלבד?

מי שירצה לבנות קוד אופטימלי לפי תזמון המתנד, חייב את האפשרות של תכנות ב-Assembly.

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

פורסם

אין לי שמץ לגבי אסמבלי אבל אם הביצועים מאוד חשובים אולי שווה לעבור לבקר 32 ביט כמו Pinguino או ChipKit.

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

פורסם

יש אפשרות לכתוב באסמבלי ישירות.

דוגמא לפונקציה משולבת:


static inline uint32_t millis(void)
{
uint32_t out;
asm volatile(
"in __tmp_reg__, __SREG__" "\n\t"
"cli" "\n\t"
"lds %A0, timer0_millis_count" "\n\t"
"lds %B0, timer0_millis_count+1" "\n\t"
"lds %C0, timer0_millis_count+2" "\n\t"
"lds %D0, timer0_millis_count+3" "\n\t"
"out __SREG__, __tmp_reg__"
: "=r" (out) : : "r0"
);
return out;
}

פורסם

אין אפשרות לכתוב קוד שלם ב assembly אבל אפשרי לשים קטעי קוד ב-Assembly עם שפת C.

אפשר למצוא יותר מידע על יישום קוד assembly עם הקומפיילר באתר הזה :http://www.nongnu.org/avr-libc/user-manual/inline_asm.html

פורסם

אין דבר כזה בקר ארדואינו !

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

ארכיון

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

דיונים חדשים