نویز | آموزش AVR | آموزش میکرو | میکروکنترلر

وبلاگ آموزشی احسان نوری ::: Ehsan Nouri's Weblog

نویز | آموزش AVR | آموزش میکرو | میکروکنترلر

وبلاگ آموزشی احسان نوری ::: Ehsan Nouri's Weblog

" نویز رسانه ای است برای آموزش آسان مفاهیم میکروکنترلر و الکترونیک "

دریافت مستندات
آخرین نظرات
  • ۲۰ خرداد ۰۰، ۲۰:۴۹ - حسام الدین سلطانی
    خعلی عالی
  • ۲ ارديبهشت ۰۰، ۱۸:۱۱ - حسام الدین سلطانی
    خیلی عالی

پس از مدتها انتظار،مبحث برنامه نویسی رو آغاز میکنیم.

 

پس با ما در ادامه مطلب همراه باشید ...

به نام خدا

 

سلام

بعد از مدتها در این زمان امتحانات،فرصتی شد تا یه پست دیگه بزارم توی وبلاگ.

 

امروز داشتم به این قضیه فکر میکردم که چه حسیه که منو وادار میکنه تا بیام تو وبلاگ و این همه تایپ کنم و خودمو به آب و آتیش بزنم ؟!

 

خلاصه یه دستیه از غیب که منو میکشه تو این وادی !!!

دعا کنید که یه وقت اون دسته ما رو ول نکنه که خدای ناکرده دل و دماغ پست زدن رو از ما بگیره !

 

البته قصد هیچگونه تعریف و خودستایی ندارم ! یه وقت نگید داره از خودش تعریف میکنه ها !

میدونم که بچه های این وبلاگ همه خودمونین و منم برای همینه که اینقدر راحت حرف دل میزنم !!!

 

خبر جدید رو هم که حتما دیدید !

افتتاح انجمن تخصصی وبلاگ که فقط برای پرسیدن سوالاتیه که در طول مباحث آموزشی براتون پیش میاد و اونجا میتونید مطرح کنید و انشاالله یه پاسخ درخور و البته در حد بضاعت علمی بنده دریافت خواهید کرد.

پس بی زحمت برید عضو بشید و هرسوالی که به ذهنتون رسید رو اونجا مطرح کنید.

 

اما بریم سراغ کار خودمون !

یادمه تو قسمت [8] سری آموزشی خودمون مبحثی داشتم تحت عنوان "مروری بر مهم ترین رجیسترهای کاربردی AVR ؟ #1 [8]".

اونجا اومدیم و رجیسترهای ورودی و خروجی یا همون GPIO رو بررسی کردیم و توضیحات مربوطه رو هم دادیم.

بعد اون روز تا حالا دیگه باید یادتون رفته باشه،پس بهتره که یه نگاهی دوباره بهش بندازید !

من دیگه توضیح نمیدمشون  !

 

پس اینجا توضیح بی توضیح ....

 

رجیسترهامون 8 بیتی بودند و هر بیت میتونست 0 باشه یا 1 .

اعداد باینری رو هم که همه میشناسیم و حساب،کتاب کردنشون رو هم بلدیم.

همچنین اعداد هگزا دسیمال رو !

 

اگه اینا رو نمیدونید چی هستن،حتما از کتابها یا جزوات درس مدار منطقی بخونیدشون !

منم توضیح نمیدم ! (آقا زور که نیست ؟! نمیخوام توضیح بدم ! laugh)

 

تصمیم داریم که یه رجیستر رو مقدار دهی کنیم.

مثلا فرض کنید میخوایم یک رجیستر با نام X که 8 بیتی هم هست رو،مثل شکل زیر مقدار دهی کنیم :

 

X :

0 1 1 1 0 1 0 1

 

 

خب؛رجیستر رو داریم مقداری هم که میخوایم بریزیم توش رو هم داریم،دعوا سر چیه؟ سر اینکه با چه فرمتهایی میشه مقدار دهی کرد،ببینید :

 

مقدار دهی باینری :

X=0b01110101;

 

مقدار دهی هگزادسیمال :

X=0x75;

 

در ضمن اون 0b و 0x هم جزو عدد نیستند،بلکه میخوان بگند که فرمت عدد چیه !


مثال :

فرض کنید میخوایم رجیستر ADMUX رو مقدار دهی کنیم :

(این رجیستر رو در بخش "مبدل آنالوگ به دیجیتال ADC در AVR ؟ [12]" بررسی کردیم،کاری هم باهاش نداریم فقط میخوام مثال بزنم !)

 

 

ADMUX :

0 1 1 1 0 1 0 1

 

علاوه بر مقدار دهی بصورت باینری و هگزادسیمال که بالا توضیحاتشو دادم،میشه این شکلی هم به بیتهای رجیسترها مقدار داد :

 

مقدار دهی باینری :

ADMUX=0b01110101;

 

مقدار دهی هگزادسیمال :

ADMUX=0x75;

 

مقدار دهی با استفاده از عملگرهای بیتی :

ADMUX=((1<<MUX0)|(1<<MUX2)|(1<<MUX4)|(1<<ADLAR)|(1<<REFS0))

 

این آخریه بیشتر تکنیکه و از اینجور تکنیکها بازهم داریم !


خب،این تا اینجا ...

 

اما اصل بحث ما سر کارکردن با پورت های وروردی و خروجی بود !

پس بریم سراغ برنامه نویسی به زبان سی،البته تحت کامپایلر محبوب کدویژن :

 

در حال حاضر اولین بار هست که میخوایم درون محیط کدویژن برنامه بنویسیم و بنده فرض رو بر این گرفتم که شما به زبان سی نسبتا مسلط هستید و محیط کدویژن رو هم میشناسید.

پس اگه هنوز آمادگی ندارید،توصیه میکنم که خوندن ادامه این بخش رو به یه زمان دیگه موکول کنید تا گیج نزنید وسط بحث !!!
باز هم تقاضا میکنم از دوستان،که بلند پروازی رو کنار بگذارند و پست های قبلی رو مطالعه کنند و یاد بگیرند و بعد شروع به برنامه نویسی کنند !
از ما گفتن بود ...frown

 

قصد داریم که با کمترین دانش و اطلاعات یه LED رو توسط میکروکنترلر ATmega32 کنترل کنیم.
برای اینکه مطلب واضحتر باشه و بهتر بتونیم روی بحث پورت ها کنترل داشته باشیم،اسم پروژه رو میذارم "چشمک زن تک LED" ! 

 

دعوت میکنم که یه بار دیگه به اندام زیبای میکروکنترلر ATmega32 نطر بندازید ! :

 

 

برای روشن کردن LED لازمه که یه ولتاژ حدود 3 ولت بیفته دو سر LED مون !

اول از همه بگم که پایه شماره 10 یعنی VCC رو به +5 ولت و پایه شماره 11 یا 31 رو به زمین(0 ولت) وصل میکنیم.

 

میکروکنترلر با اعمال ولتاژ به پایه های مذکور راه میوفته (روشن میشه !).

 

پس اگه به یکی از پایه های میکرو بگیم که از خودت ولتاژ (5 ولت) بده !

 

که بهتره به جهت محدود کردن جریان و ولتاژ خروجی میکرو،از یه مقاومت هم استفاده کنیم !

خلاصه کلام این که مدارمون این شکلی باید باشه :

اما 2 تا نکته :

اول اینکه تو شماتیک هامون منبع تغذیه متصل به میکروکنترلر و همچنین زمین رو نمیکشیم و بصورت پیش فرض،وصل شده در نظرشون میگیریم.

دوم هم اینکه از پایه PORTC.0 استفاده کردیم که این یه چیز دلبخواهیه و هر پایه ای که دوست داشتید رو میتونید انتخاب کنید.

 

حالا قراره یخورده با رجیسترها و پورتها وَر بریم و عملیات دلخواهمون رو انجام بدیم  :

 

1.پایه PORTC.0 باید بصورت خروجی تعریف بشه !

پس : مقدارِ بیتِ متناظر با این پایه در رجیستر DDRC باید 1 تعریف بشه ! (اینا رو که یادتونه ؟!!! )

 

2.برای روشن شدن LED و در واقع High شدن سطح ولتاژ روی پایه C0،باید مقدار بیت متناظر با این پایه در رجیستر PORTC برابر 1 تعریف بشه !

 

پس اول پایه C0 رو خروجی تعریف میکنیم و بعد دستور میدیم که ولتاژ بیاد روش !

 

لازم بذکره که فرکانس کاری میکرو رو در مبحث امروز بر روی 8 مگاهرتز تنظیم کرده ایم !

پس بسم الله ...

#include <mega32.h>
#include <delay.h>


void main(void){

DDRC=0x01;

while(1){

PORTC=0x01;
delay_ms(250);
PORTC=0x00;
delay_ms(250);
}
}

 

خب اینم از برنامه !

اما تشریح مختصر و مفید برنامه :

#include <mega32.h>

این کد مخصوص فراخوانی فایل سرایند ATmega32 هست و اطلاعات سخت افزاری میکرو داخل این فایل وجود داره.

 

#include <delay.h>

اینجا اومدیم و کتابخانه ای با نام delay رو فراخوانی کردیم که وظیفه اش ایجاد تاخیر زمانیه !

بزارید برای اولین و آخرین بار این کتابخونه رو یه توضیح در حد کاربرد بدم؛توضیح اینکه دو تا تابع داخل این کتابخونه هست :

  delay_us(time); و delay_ms(time);

که از اولی برای ساخت تاخیرهای در حد میلی ثانیه و از دومی برای ساخت تاخیرهای در حد میکروثانیه استفاده میشه.

 

DDRC=0x01; // ya : 0b00000001

اینو هم که توضیحشو دادیم؛پایه C0 رو خروجی تعریف کردیم.

 

while(1){}

این هم که معرف دوستان هست و بهش میگند حلقه بینهایت !

برای اینکه عملیات چشمک زدن بی نهایت بار تکرار بشه.

PORTC=0x01; // ya : 0b00000001

اینم توضیح دادیم؛داریم ولتاژ رو میندازیم رو پایه C0 .

 

delay_ms(250);

با این دستور هم میگیم که 250 میلی ثانیه صبر کن !

 

PORTC=0x00; // ya : 0b00000000

با این دستور هم میگیم که ولتاژ رو از روی پایه C0 بردار !

 

delay_ms(250);

با این دستور هم میگیم که 250 میلی ثانیه دیگه صبر کن !

 

این عمل متناوبا تکرار میشه و همون خاموش،روشن شدن LED رو در بر داره !

 

دقت داشته باشید که پروژه چشمک زن این جلسه با اون چشمک زنی که در بخش تایمر/کانتر ها مثال میزدم فرق داره !

اینجا فقط میخواستم یه مثال ساده و پیش پا افتاده براتون طرح کنم و مجبور شدم که اسم چشمک زن رو بیارم !

 

پروژه رو کامپایل کنید و بریزید رو میکرو و مدار رو روی برد بورد ببندید و نتایج رو با چشم خودتون ببینید تا بیشتر سر کیف بیاین !

 

حالا برای تمرین بیشتر،پایه میکروکنترلر رو تغییر بدید و به جای C0 مثلا ببریدش روی A5 !

یا حتی چندتا LED بزارید به جای یه LED !

 

سعی کنید از دوووگوله مغزتون بیشتر استفاده کنید !!! Laughing

 

خب.

کاری که تا حالا کردیم،این بود که اومدیم از یکی از پین های میکرو ولتاژ گرفتیم(همون خروجی ...).

اما اگه خواستیم یکی از پین هامون رو به صورت ورودی تعیین کنیم چی ؟

 

1.مقدار بیت متناظر با پین مورد نظر رو در رجیستر DDRC برابر با 0 قرار میدیم.

2.اگر مقدار بیت مورد نظر در رجیستر PINC برابر 1 شد،یعنی ورودی +5 ولت داریم و اگر مقدار بیت 0 شد،یعنی ورودی نداریم !

 

مثلا : (همون مثال بالایی برای پایه C0 )
توجه : اینجا دیگه LED نداریما ! یعنی هیچی نداریم !!!

یه میکرو داریم که پایه C0 اونو به عنوان ورودی تعریف میکنیم و چک میکنیم که اگر مقدار این پایه برابر 1 منطقی شد،کاری رو برامون انجام بده !

#include <mega32.h>

void main(void){
DDRC=0x00;
if (PINC==0x01){
  // Codes
}
}

الان اوضاع چجوریاست ؟

 

DDRC=0x00;

همه پایه ها رو بصورت ورودی تعریف کردیم !(قبلا هم گفتم که در حالت پیشفرض تمامی پایه های میکروکنترلر روی حالت ورودی تنظیم شده اند.)

if (PINC==0x01){
  // Codes
}

یه شرط هم گذاشتم،که اگه مقدار پین C0 ولتاز +5 ولت بهش وارد شد (مقدارش یک منطقی شد) فلان کار (//Codes ) رو انجام بده !

در مورد حالت ورودی،مثالی ساده تر از این نمیشه زد !

حالت ورودی هم،استفاده های خاص خودشو داره و باید درگیر بشید با میکرو تا بتونید کامل یادش بگیرید.

 

و اما اینم فیلمی که گرفتم از همین پروژه تا مطمئن بشید که مدار در عمل هم جواب داده :روی عکس زیر کلیک کنید.

 

 

 

فکر کنم دیگه بس باشه برای این جلسه !

چشمام زد بیرون از حدقه !!! Yell

انشاالله که استفاده ببرید و ما رو هم دعا کنید.

بخش نظرات رو هم با نظراتتون بزنید بترکونید !!!

تا قسمت بعدی آموزش خدانگهدار ...

سلام

بسیار عالی...خیلی خوبه....من از وبلاگتون خیلی استفاده میکنم...انشالله که خیر و برکت این کارتون رو هم در ضمینه کارای  علمی تون و هم در زمینه زندگی شخصیتون ببینید...

یا خسین (ع) 

پاسخ:
ممنونم

موفق باشید.
سلام،
دستتون درد نکنه وحالا اگه سوال یا بحثی راجع به موضوعات مطرح شده داشتیم همین جا مطرح کنیم یا دیگه کلا بریم تو انجمن؟
با تشکر
پاسخ:
سلام
دیدگاههاتون رو همینجا مطرح کنید و سوالاتتون رو داخل انجمن بپرسید !

ممنون
سلام شما کد ویژن برنامه نویسی میکنید...وقتی پروزه نوشته شد با چ برنامه ای اون رو پروگرم میکنید رو ای سی؟
پاسخ:
سلام
بعد از کامپایل شدن پروژه توسط کامپایلر،با استفاده از نرم افزار ویژه پروگرامر اون رو پروگرم میکنیم !
البته میتوان پروگرمرهایی نظیر STK200/300 را مستقیما به کامپایلر شناسوند و از طریق کدویژن کامپایل رو انجام داد !!!

موفق باشید
این نرم افزار ویژه که میگین اسمش چیه؟
پاسخ:
عزیز بستگی به نوع پروگرامرتون داره !
همراه خود پروگرامر یک سی دی هست !
به باتری وصلش کردین؟ یا منبع تغذیه؟
پاسخ:
ولتاژ 5 ولت !
منتظر مطالب جدیدتونیممممممممممم
پاسخ:
منتظر باشید فعلا ...

سلام
آقا خیلی عالی بود!!!
واقعاً لذت بردم!
من فقط بیسیک بلدم اونم خیلی مبتدی در حد روشن و خاموش کردن پورت‌ها
خیلی دنبال آموزش خوب و ساده و ابتدایی که از بیس توضیح داده باشه بودم.
از زبان c و کدویژن هیچی بلد نیستم خیلی ساده و روان توضیح داده بودید.
فقط خداییش مثل بعضیا نباشید که نصفه نیمه رها میکنن...
انصافاً به راهتون ادامه بدید
خیلیا مشتاق ادامه آموزشتون هستن
الآن یک ماهه از آموزش اولتون می‌گذره...
منتظریم...
ممنون بابت زحماتی که میکشین

موفق باشین
پاسخ:
ممنون
شما دعا کنید که خدا به من توفیق بده تا بتونم ادامه بدم.
۲۴ بهمن ۹۲ ، ۰۰:۵۸ حمزه کامروا
سلام تشکر میکنم.  بزرگواری فرمودید و هرهفته خدمت میرسم.
پاسخ:
سلام
ممنونم
باعث افتخار ماست.

موفق باشید.
۲۹ بهمن ۹۲ ، ۱۴:۲۳ علی داد حسینی

واقعا خسته نباشید خیلی سایت خوبی دارید کارتون ایول داره


پاسخ:
ممنون
شما خودت ایول داری !

واقعا ممنون
پاسخ:
خواهش میکنم.
داداش گلم دمت گرم.. باورت نمیشه که من بغد 15 سال کار با زبان بیسیک و مشتقاتش، اومدم سمت زبان سی، اوننم بخاطر همراهی قدم به قدم با آموزشای عالیت و استفاده از اونها.. اهل نظر دادن تو سایتی نیستم و تو بحث کامپیوتر و الکترونیک کسی رو معمولا قبول ندارم.. اما آموزش عالی، پخته، زبون ساده و سطح کیفی بالاش منو وادار کرد کع ازت تشکر کنم و تشویقت کنم که ادامه بدی
پاسخ:
داداش شما لطف دارید.
خیلی خوشحال شدم وقتی نظرتون رو خوندم !
ما باید بیایم پیش شما شاگردی !!!

موفق باشید.

داداش احسانم دمت گرم ,واااالا ترکوندی!!!

احسان دیگه فکر کنم میکرو بگیرم پاسم %100

باز تشکر

خیلی وقت گذاشتی ,ایشالااااا خدا میکرو زندگیتو بگردووونه!

پاسخ:
چاکر حاج حمید !
میکرو رو که دیگه شما پاسی ! شوخی نکن !!!

ایشالا خدا به هممون درک و شعور و فرهنگ یادگیری میکروکنترلر اعطا فرماید.

موفق باشید.
سلام وقتتون به خیر. راجع به پورت usartمیکرو اطلاعات کافی میخواستم لطفا کمک کنید مرسی.
پاسخ:
بهش میرسیم.
اما خیلی وقت دیگه !!! هههه
سلام. ببخشین اون خازنی که گذاشتین چیکار میکنه؟ بعضی وقتا تو ورودی ها یه مقاومت میزارن. اون چیکار میکنه؟ یا مثلا یه سلف میزارن رو + به - اون چیکار میکنه؟ (اون سلفه بعث میشه که جریان خودالقایی بوجود بیاد و جریان اصلی یواش یواش بره تو مدار یا  واسه چیز دیگه ایه؟ اینو و کتاب فیزیکمون خوندم :D)
کلا اینجور چیزای اضافی رو میشه توضیح بدین؟
مرسی. راستی سایتت فوق الـــــــــــــــــــــــــــــــعادس
پاسخ:
سلام
حاجی شما کجا رو منظورتونه ؟!
از روی فیلم دارید میگید ؟

بنده برای ثابت بودن ولتاژ،از یه رگولاتور LM7805 و 2 عدد خازن  470uF استفاده کردم.
یک خازن در ورودی و یک خازن در خروجی رگولاتور که عمل صافی ولتاژ رو انجام میدن و از ریپلهای ناخواسته جلوگیری میکنند.
و در خروجی روگولاتور،ولتاژ 5 ولت صاف شده رو داریم که خوراک میکروکنترلره !!!

در مورد قضیه سلف و مقاومت در ورودی و خازن و ... هم باید خدمتت عرض کنم که بحث خیلی گسترده تر از این حرفاست !
در واقع اگه مدرک کارشناسی برق داشته باشید،میشه گفت تا حدودی با فلسفه و ساختار و عملکرد المان هایی مثل سلف و خازن و BJT و FET و ... آشنا میشید.
مسئله به این سادگی نیست که بیایم و یه نسخه بپیچیم و بگیم که سلف کارش فلانه و خازن فلان !

ترجیح میدم که به سوالتون جواب ندم !
چون واقعا خیلی توضیح نیاز داره و بحث تخصصی میشه.

موفق باشید.
سلام مهندس
منی که دارم تونت دنبال سورس میگردم که چطوری مدارمو ببندم و چیزی پیدانکردم 
توی اینجا تونستم یاد بگیرم چطوری میکرو رو روی مدار ببندم
منظورم نحوه اتصالات ولتاژ و سایر پایه های میکرو هست که توی پروتوس مشخص نمیشه
سپاسگذارم
پاسخ:
سلام
عزیزم شما اگه پست های ابتدایی وبلاگ رو بخونید،اینا کاملا توضیح داده شده !
با سلام
من می خواستم بدونم چطوری می تونم ورودی ام ذا به صورت باینری تعریف کنم..؟؟؟
پورت A من بصورت کامل ورودی است.
مثلا اگه بخوام بگم که : اگه ورودی من به این صورت شد(pinA.0,pinA.2,pinA.5) هر سه یک شدند این کار را انجام بده...
باتشکر.
اگر امکانش بود پاسخ را ایمیل کنید.
پاسخ:
سلام
با تقویت زبان برنامه نویسی سی و خوندن مطالب ابتدایی وبلاگ جواب سوالاتتون رو پیدا خواهید کرد.

موفق باشید.
با سلام
در صورتی که توابع متعددی رو در برنامه تعریف و فراخوانی کرده باشیم، بهترین جا برای تعریف پورتهای ورودی و خروجی (DDRX.y=0/1) که در طول برنامه خروجی یا ورودی بودنشان ثابت است،کجاست؟ داخل تابع main و قبل از while؟ یا خارج تابع main مانند متغیرهای عمومی؟ یا اینکه تفاوتی نمی کند؟
ببخشید سوال رو اینجا پرسیدم. خیلی با دسته بندی های انجمن آشنا نبودم.
سپاس.
پاسخ:
سلام

تعریف پورتهای ورودی و خروجی خارج از تابع main نباید باشه !
داخل تابع main و قبل از تابع while بهترین مکانه.

موفق باشید.
سلام
ممنون خیلی کامل بود توضیحاتتون 
خسته نباشید 
جددا ممنونم
خیلی بدرد خورد
با سلام و تشکر از اطلاعات  مفیدتون
با آرزوی بهترین ها برای شما
ببخشید من یک برنامه ساده که یک LED را روشن و خاموش کند پروگرام کردم پس از بستن مدار با قرار دادن رگلاتور ولت و داشتن خروجی 5 ولت رگلاتور ، LED با نور خیلی ضعیف روشن می شود. وقتی پایه خروجی میکرو را کنترل کردم در حالت عادی بدون LED ولتاژ خروجی پایه مناسب و حدود 4.5 ولت می باشد ولی هنگام نصب LED ولتاژ به 1.7 ولت کاهش می یابد که نتیجه آن نور ضعیف LED می باشد ، لطفا اگه امکان دارد راهنمایی کنید چه کاری انجام بدم که نور LED هنگامی که دستور روشن شدن توسط میکرو داده می شود طبیعی گردد . با تشکر
پاسخ:
سلام
سعی کنید با یه میکروی دیگه که مطمئن هستید سالمه تست کنید و نتیجه رو بگید تا بهتر بشه راهنمایی کرد.
در ضمن در نظر داشته باشدی که حداکثر جریانی که میتونه هر پایه میکرو بده حدودا 20 میلی آمپره (در بهترین شرایط!)
همچنین نوع LED هم مهمه.
معمولا LED های مات در ظاهر نور بیشتری نسبت به دیگر LED ها دارند و این چنین کارهایی مناسب ترند.

موفق باشید.
سلام
دست شما درد نکند سوالی داشتم اینکه میشود ارسال دیتا را با وقفه (interrupt) انجام داد اگر می شود چگونه
پاسخ:
سوال غیر مرتبط !
سلام
لطفا بفرماید از کجا شروع کنم برای برنامه نویسی
۱۱ آبان ۹۳ ، ۱۰:۰۲ محب الحسین
دوست عزیز ممنونم از وبلاگ خوب و پست های آموزشی ات .
اجرت با اباعبدالله
مطالبی که تو این سایت هست خیلی روش وقت گذاشتی برای اینکه یه گوشه ای از زحماتت جبران بشه یه لینک واریز مبلغ ماهیانه بزار. واقعا این مطالب زیادوقتتو گرفته
پاسخ:
انشاالله بزودی ...

ممنون از لطفتون
مرررررررررررسی
پاسخ:
خواهش
سلام. من لینکی واسه انجمن ندیدم. کوو؟؟ O_o
پاسخ:
از انجمن استقبال نشد،بستمش !!!
طبق توضیحات در دیتاشیت باید AVCC ( پایه شماره 30 ) رو هم تغذیه کنیم ؟
درست میگم ؟

توضیحات دیتاشیت :

 :AVCC
AVCC is the supply voltage pin for Port A and the A/D Converter. It should be externally connected to VCC, even  if the ADC is not used. If the ADC is used, it should be connected to VCC. through a low-pass filter



پاسخ:
بله !
این توصیه همیشگیه اتمله.
حتی اگه از واحد ADC میکرو هم استفاده نمیکنید،پایه AVCC رو به مثبت +5 ولت منبع تغذیه تون وصل کنید.
بابا . جیگر . عزیز . استاد . پاچتو شل کن پاچه خواری کنیم. دستت درد نکنه........
پاسخ:
خواهش میکنم جناب ...
ممنون از اظهار لطفتون
آقا احسان       خدا قوٌت

سلام دوستان.

من یک میکرو stm32FVE دارم که دارم یک ورودی رو میشمارم. هر از گاهی هم اطلاعات را به کامپیوتر میفرستم.

یک مشکل دارم اونهم اینه که زمان ارتباط با کامپیوتر شمارش از کار میفته. ظاهراً باید ورودی را اینترآپت تعریف میکردم ولی بلد نیستم.

اگر ممکنه کمک کنید.

ممنون میشم.

سلام
من هر کاری میکنم نمیتونم رو میکرو ورودی داشته باشم
چکار کنم 
اگه راه حلی دارین واسم ایمیل کنید.
با تشکر
سلام
ضمن تشکر بابت زحماتتان و آموزشهای جالبی که گذاشته اید

عرض کنم که

لطفا فایل pdf آموزشتان را هم برای دانلود بگذارید

ممنون

مرسی....ممنون و عالی....امیدوارم برگردی به وبلاگت..........پیلیز کام بک
یه سوال اینکه این تابع delay چجوری ایجاد تاخیر میکنه ؟ از کانتر تایمر استفاده میکنه ؟
چون موقعی ک تاخیرهای من خیلی سریع تر از اونی ک در برنامه نوشتم انجام میشن و یه مشکلی داره
سلام. واقعا خسته نباشید. یه سوال. الان تو همین مثال که گفتید تابع delay چه فرقی با کانتر میکنه خب به این میگین که  مثلا 250 میلی ثانیه صبر کن بعد فلان کار. تو بحث کانتر هم همینطور مثلا میخواید هر 250 میلی ثانیه یه کار انجام بده.
سلام....
من یه سوالی داشتم ... چطوری میشه ولتاژ و ... را توسط میکرو کنترل کرد...
با زبان سی و نرم افزار اتمل استادیو...
اگ جوری دیگه میشه چطوری ؟
لطفاا کمک کنید.......مر۳۰
سلام عالی بود
مثل همیشه عالی بود. ممنون که وقت میذاری 
این اولین کارگاه رو خوندم عاااااالی بود ینی در واقع نخوندم مطالب ادمو قِل می ده خط بعدی
الان می رم کارگاه بعدیا ببینم همین طوره یا یهو می ره جاده پیشرفته 
اون نیرویی که شما رو به نوشتن در وبلاگ میکشونه هر چی هست دمش گرم...آدم تا این موضوعات رو این طور ساده یاد نگیره نمیتونه پیشرفته شو متوجه بشه یا باید کلی سختی بکشه تا متوجه بشه . ولی بازم با مرور به این شکل انقدر خوب تثبیت میشه که قبلش اون طور نبوده، خدا شما رو خیر بده کاری جز دعای خیر از ما برنمیاد ولی همینم ایشالا شما رو به موفقیت و سربلندی برسونه، البته روحیه با پشتکار شما زمینه موفقیت رو از قبل ایجاد کرده. چیزی که میتونم بگم اینه که حتما شما معلم و استاد خوبی میشید. من نمیدونم اساتید دانشگاه ما که اینجوری درس میدن خودشون چه خیری از این مدل تدریس دیدن. حتما خودشونم چیز خاصی نفهمیدن...

سلام.اجرتون با خدا.

واقعا من خیلی از سایت ها روگشتم ولی سایت شما کمک زیادی بهم کرد

 

۲۰ خرداد ۰۰ ، ۱۹:۰۴ حسام الدین سلطانی

خیلی ممنون

 

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی