صفحه: [1]
  چاپ صفحه  
نويسنده موضوع: آموزش(مختصر) زبان C برای برنامه نویسی AVR  (دفعات بازدید: 3328 بار)
0 کاربر و 4 مهمان درحال دیدن موضوع.
محمد
مدیر انجمن
*****

امتیاز: 4
آفلاین آفلاین

تعداد ارسال: 175


ديدن مشخصات
« : 22 آذر 1388,ساعت 10:32:16 »

بعضی از تعاریف مهم :
1)   متغیر ها:متغیر نامی است که شما به یک عدد،تابع ،برچسب و . . .نسبت داده میشود. برای تعریف یک متغیر ابتدا نوع و سپس نام آن را ذکر می کنیم :   
انواع متغیر ها در  c  :محدوده   اندازه (bit)   نوع
0,1   1   bit
-128~127   8   Char
0~255   8   Unsigned Char
-32768~32767   16   int
0~65535   16   Unsigned int
-2147483648~2147483647   32   Long int
0~4294967295   32   Unsigned long int
1.175E_32~3.402E_32   32   Float , double


2)   اشاره گر ها : متغیری است که آدرس حافظه یک شی را در خود نگاه می دارد. هر متغیر در فضای برنامه حافظه ای را اشغال میکند  و این حافظه یک آدرس دارد  که اشاره گر مقدار عددی آن را در خود ذخیره میکند .


به عنوان مثال :
Void main () {
Char B ;
B=100 ;
A=&B  ;
C=*B

در این مثال ابتدا  B=100  میشود و سپس  A  برابر آدرس    Bقرار داده شده است . و  C  برابر با مقدار  B    می شود .

3)   آرایه ها : مجموعه ای از متغیر های همنوع و مرتبط با هم است که با یک نام شناخته می شوند .

به عنوان مثال :
Data type  var name [size]

Char  a [6]

4)   توابع :توابع در زبان  C  یعنی همه چیز ؟ توابع ارکان یک برنامه C  را تشکیل میدهند .پس از شروع برنامه اولین تابعی که اجرا میشود تابع  main()  میباشد و سایر توابع به جز توابع وقفه ها در درون این تابع فراخوانی میشود .
                                                                 


دستورات کنترلی :
1)   دستور if – else:
مثال:
If(i=0){
i++;
}
Else {
i—;
}
در این مثال اگر عبارت شرطی  i=0  برقرار باشد عبارت داخل {} اجرا میشود و اگر عبارت شرطی درست نباشد عبارت داخل {} بعد از  else اجرا میشود.

2)   حلقه while()  :
مثال :
While (i>0){
I=i+1;
}
در این مثال مادامی که عبارت شرطی داخل () درست باشد عبارت داخل بلوک while  اجرا میشود.
3)   حلقه do – while ()  :
مثال :
Do {
i--;
} while (i<0)
در این مثال ابتدا یک بار عبارت داخل {} اجرا میشود و سپس عبارت شرطی چک میشود اگر درست بود حلقه ادامه پیدا می کند .
4)   دستور break  :
هر گاه برنامه به این دستور برسد بدون درنگ از حلقه خارج می شود .
5)   دستور continue  :
هر گاه برنامه به این دستور می رسد برنامه به ابتدای حلقه رجوع می کند.
خارج شده است

iris
کاربر جدید


امتیاز: 0
آفلاین آفلاین

تعداد ارسال: 7


ديدن مشخصات
« پاسخ #1 : 17 خرداد 1389,ساعت 11:12:03 »

خيلي معزرت مي خوام ، برنامه نويسي با C  براي AVR همينه؟
ببينيد من در رشته برنامه نويسي تحصيل مي كنم و تا حالا برنامه اي براي ربات و AVR‌ننوشتم و مي خوام بدونم برنامه نويسي براي ربات تفاوتي داره با چيزايي كه من خوندم؟
خارج شده است
محمد
مدیر انجمن
*****

امتیاز: 4
آفلاین آفلاین

تعداد ارسال: 175


ديدن مشخصات
« پاسخ #2 : 18 خرداد 1389,ساعت 15:28:22 »

برنامه نویسی AVR در کامپایلر های مخصوص AVR است.
ساختار ان مانند C است ولی بعضی توابع متفاوت است.
خارج شده است

iris
کاربر جدید


امتیاز: 0
آفلاین آفلاین

تعداد ارسال: 7


ديدن مشخصات
« پاسخ #3 : 21 خرداد 1389,ساعت 12:19:11 »

خيلي ممنون ، متوجه شدم.
خارج شده است
سيد محسن حسيني
عضو سایت
*

امتیاز: 1
آفلاین آفلاین

تعداد ارسال: 23


ديدن مشخصات
« پاسخ #4 : 28 مهر 1389,ساعت 23:14:02 »

دوست عزيز اگر اطلاعات بيشتر مي خواهيد به من پيغام بديد
آشنايي با زبان C
1-4-1- ساختار برنامهنويسي
به منظور برنامه‌نويسي به زبان C، آشنايي اوليه با دستورات آن الزامي‌ است. براي اين منظور: با معرفي مختصر ساختارها و دستورات مرتبط، مطابق زير با يك برنامه ساده شروع مي‌كنيم.

#include <stdio.h>
 int main() {
                       printf("Hello World\n");
                       return 0;
                    }
   شرح برنامه:
 #include <stdio.h>: فايلي به اسم stdio.h را ضميمه مي‌كند كه اين فايل به ما اجازه استفاده از توابع خاصي را مي‌دهد. stdio كوتاه شده‌ي عبارت Standard Input/Output است. اين فايل شامل توابع ورودي: مانند خواندن از صفحه كليد و توابع خروجي: مانند نمايش دادن بر روي صفحه نمايش است.
 int main():
int : عبارتي است كه يك مقدار را بر ميگرداند (return) و در ادامه بيشتر به توضيح آن مي‌پردازيم.
main : نام نقطه‌اي است كه برنامه از آن نقطه شروع مي‌شود. پرانتزها در جلوي عبارتmain  به اين معني است كه اين تابع آرگومان ورودي ندارد.
 int main() {
        دستورها                           
                  }
} { (آكلادها) براي اين است كه تمام نوشته‌ها را در يك گروه خاص قرار دهد. در مثال بالا، آكلاد مشخص مي‌كند كه نوشته‌ها متعلق به تابع main است. شايان ذكر است كه آكلادها در زبان C كاربرد زيادي دارند.
printf ("Hello World \n");
تابع printf : يك متن را در صفحه نمايش مي‌دهد. اطلاعاتي كه بايد اين تابع نمايش دهد بين دو پرانتز قرار مي‌گيرد. دقت شود كه: كلمهها بين دو double contention ( " ) قرار گيرند، زيرا آن‌ها در واقع يك رشته هستند. هر يك از حروف يك كاراكتر مي‌باشد و مجموعه‌ي آن‌ها يك گروه با نام رشته (string) را تشكيل مي‌دهند. رشتهها هميشه بايد بين دو " قرار مي‌گيرند.
\n  : به كامپايلر دستور ميدهد به خط جديد برود، وقتي شما در متن خود enter بزنيد به خط جديد نميرود براي همين ما مجبور هستيم از اين دستور استفاده كنيم.
بايد بعد از هر دستوري يك semicolon ( ; ) قرار دهيد براي اين كه نشان دهد آن دستور تمام شده است.
جدول (1-1): دستورات براي printf
 \a   Audible signal
\b   Backspace
\t   رفتن به يك tab جلوتر
\n   رفتن به يك خط جديد
\v   Vertical tab
\f   پاك كردن صفحه / رفتن به صفحه جديد
\r   Carriage return
 return 0: مقدار آرگومان برگشتي توسط دستور return مشخص مي‌شود وreturn 0 به معني آن است كه تابع ما مقدار صفر را باز مي‌گرداند.
   پس از كامپايل نمودن برنامه، اگر كدهاي شما اشتباه باشند، كامپايلر به شما مي‌گويد كه اشتباه در كدام خط رخ داده است. به منظور اجراي صحيح برنامه، اصلاح خطا شامل: خطاي املايي و ساختاري الزامي است. پس از كامپايل صحيح، برنامه‌ي شما تبديل به فایل اجرایی مي‌شود. اكنون بايد عبارت "Hello World" را در صفحه ملاحظه كنيد.
استفاده از توضيحات (comments) : براي تشخيص بهتر هر يك از خطوط برنامه، استفاده از comment در جلوي خطوط پيشنهاد مي‌شود. توضيحات را بايد بعد از //  يا بين /*………*/ بنويسيد. توضيحات توسط كامپايلر خوانده نمي‌شوند. توضيحات استفاده شده در اول برنامه عملكرد برنامه را نشان مي‌دهند. شما همچنين مي‌توانيد: بين قسمت‌هاي مختلف برنامه از توضيحات استفاده كنيد تا آن قسمت را توضيح دهيد در ذيل، مثالي از قرار دادن توضيح قرار داده شده است:
/* Author: Hamed Saghaei
 Date: 2009/07/15
 Description:
 Writes the words "Hello World" on the screen */
 
#include <stdio.h>
 
int main()
 {
      printf("Hello World\n");       //prints "Hello World"
      return 0;
خارج شده است
صفحه: [1]
  چاپ صفحه  
 
پرش به :