نقل قول: اگر با VB و ... كار كني ، بهتر مفهوم شئي گرايي رو مي فهمي ...
من بیسیک رو رد نمیکنم. اما به نظرم برای برنامه های سازماندهی شده تر سی بهتره.همچنین برای برنامه های حرفه ای تر.
همه میدونیم که هرچی زبون سطح پایین تر باشه،کامپیوتر راحت تر باهاش کنار میاد.چون به زبون خودش نزدیکتره.
ساختار سازماندهی کد ها توی سی قویتر از بیسیک طراحی شده.
ولی برای کار های معمولی بیسیک کافیه.
نقل قول: اين ها هم كه دوستان زحمتش رو كشيدن ، اما در كل سخت نگير ، كم كم وقتي بهشون احساس نياز كردي مي ري سمتشون ...
تائید صد درصد.
من هم اون اول هرچی جون کندم نفهمیدم.اما وقتی بهشون نیاز پیدا میکنی خیلی راحت تر میفهمی
آقا وژدانن دمن همتون گرم..خیلی به من لطف کردین که وقت گذاشتین و جواب منو دادین.
یه کمک.البته کمک که نه یه کارو واسم انجام بدین دیگه.
میشه واسم تایمر/کانتر رو در هر سه حالت pwm,counter,timer کانفیگ کنید(تو کدویژن).
مثلا یه چیزی مثل این مثال هایی که میزارم.و یه چیز دیگه اونم اینکه مثل این مثال های من جداگانه بم بدین.و مثلا اگه من تایمر1 تو مد pwm کانفیگ کردم شما هم لطف کنید همین کارو انجام بدی.
یعنی این کد های بیسیک رو به سی تبدیل کنید.ممنون.
(میدونم الان اکثریت غریب به اتفاق بم میگین تو کتاب میخوندی یا سرچ میکردی.واالله از کتاب که چیزی نفهمیدم.سرچ هم کردم یه چیزهایی پیدا کردم از اونا هم چیزی نفهمیدم)
pwm
کد:
Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 8
Pwm1a = 1000
Pwm1b = 1000
timer:
کد:
Config Timer2 = Timer , Prescale = 1
Enable Interrupts
Enable Timer2
start timer2
stop timer2
lcd timer2
On Timer2 Label
counter:
کد:
Config Timer3 = Counter , Edge = Falling
lcd counter3
Enable Ovf3
counter3=1
On Counter3 Label
با تشکر از همه شما عزیزان
حالا که کتاب نمی خونی پس با کد ویزارد کدویژن بزن همهه رو می سازه
اجب کاربر فعالی تو زمینه برنامه نویسی هستی ها!
ببین توی سی به راحتی بیسیک نیست که بخوای بفهمی که چرا اینکارو می کنی مثلا رو کانتر تنطیم شده دروس دانشگاهی می خوای تا بفهمی چرا در نتیجه و فکر می کنم بیشتر افرادی که از C استفاده می کنن برای کار هاشون تنظیم هارو حفظ می کنن و کاری به کارشون ندارن
داداشی جونم ممنون که پاسخ دادی ولی...
نقل قول: حالا که کتاب نمی خونی پس با کد ویزارد کدویژن بزن همهه رو می سازه
گفتم که کتاب میخونم.
یعنی شماها همه با کدویزارد کار میکنین؟
نقل قول: اجب کاربر فعالی تو زمینه برنامه نویسی هستی ها!
داشیه من من تازه شروع به یادگیری سی کردم و نه مدرسی دارم که بخواد کمکم کنه و نه دوستی دارم که بخواد کمکم کنه فقط شما بچه های سایت هستین (البته چندتا کتاب هم دارم که خیلی بد توضیح داده مثل علی کاهه نیستش) ولی با بیسیک مشکلی ندارم ولی اینو بگم که اصلا ادعام نمیشه.من کوچیک همتونم.
خب کد ویزاردش که خیلی چرته میشه یکی از دوستان لطف کنه جواب اون سوال منو بده ممنون.
کی میگه کد ویزارد چرته؟
کد ویزارد خیلی خوب عمل میکنه.(البته به خاطر کاریه که باید انجام بده.)
هم خیلی راحت کانفیگ میکنه، هم جوری کار میکنه که برنامه ها بزرگ هم به مشکل نخورن.
ولی خوب انگار خیلی گیری!
این کار رو باید با ریجستر ها انجام بدی.
معمولا توی خیلی از کتاب های avr توضیح داده.
یه نگاهی بهشون بندازی میفهمی باید چه بخشی از چه رجیستری رو چه مقداری قرار بدی.
الان کتاب avr ندارم وگرنه کامل مینوشتم
خب دوستان بازهم ممنون بخاطر پاسخ های شما عزیزان.یک دنیا تشکر.
بچه ها چندتا سوال دیگه در مرد کد ویژن داشتم.
دستوری مثل
1.fusing
set,reset,toggle2.
space.3
on value.4
bitwait.5
debounce.6
sound.7
pulseout,in.8
آیا این دستورات رو که در بیسکام داریم تو کدویژن هم از اینا داریم؟لطفا راهنمایی کنید(دستورات معادل اینارو در کدویژن رو معرفی کنید).ممنون
بسکام یک زبون سطح بالا هست.اما سی یک زبون سطح پایین.به همین خاطر هم سی قوی تره.
توی بسکام هم شما از همون دستورات سی استفاده میکنید.که برای شما از پیش آماده شده.
مثلا وقتی شما با یه دستور یک فرکانسی رو روی یک پایه ایجاد میکنی، در واقع داری مجموعه ای از دستورات که با هم اون کار رو میکنن رو به زبون سی انجام میدی.مثل یک زیربرنامه.
به همین خاطر توی سی این دستورات پیش بینی نشده.
البته منظورم نیست که اینایی که شما نوشتی توی سی معادل نداره.اما این رو گفتم چون دیدم سوالت کلی هست.
یکسری از دستورات مثل
set,reset
درواقع همون PORTB.0=1 PORTB.0=0 هستن.
یکسری هم مثل toggle به همین روش هستن.اما با دو تا if که رجیستر ها رو برسی میکنن.اگه یک بود 0 و اگه 0 بود یک میکنن.
برای همینایی که گفتم،فکر نکنم خیلی از دستورات بسکام توی محیط سی معادل داشته باشن.خودت باید اون رو توی سی پیاده کنی.
و این ها هم به خاطر همون دلیلیه که بالا گفتم:هر دستور در بسکام مانند یک مجموعه دستورات در سی هستن.بنابرین یک دستور در بسکام اکثرا نمیتونه معادل یک دستور در سی باشه .(این هم به خاطر اینه که سی سطح پایینتر از بسکام هست و بیشتر به زبون ماشین نزدیکه.)
دوستان عزیزی که میخوان نقد کنن.منظور من از دستورات اینجا توابع هستن.
خیلی ممنون از شما دوسته من واقعا توضیحات شما مفید بود.
ولی...
نقل قول: یکسری هم مثل toggle به همین روش هستن.اما با دو تا if که رجیستر ها رو برسی میکنن.اگه یک بود 0 و اگه 0 بود یک میکنن.
اینجا که شما گفتی if نیازی به if نیس که با یک عملگر منطقی که اگه اشتباه نکن این بود>>~<< میشه اینکارو کرد.
2.کسی میتونه تو ایجاد این توابع کمکم کنه؟(البته کمک که چه عرض کنم توابع رو بهم بده)
1.منظور من از دو تا if دوتا شرط بود!چیکار کنیم دیگه! قوطه ور شدین توی بحث.
(یادش بخیر.چند سال پیش توی مدرسه زیادی رفتهبودیم توی بحث فیزیک یکی از بچه ها داشت آزمایش نیرو ها انجام میداد یهو گفت:یکی یدونه R به من بده! )
2.اگه یکم روشون فکر کنی میتونی دقیقا الگوریتمشون رو بفهمی.به هر حال بعضی هاشون خیلی سادس که چند خط هم نمیشه و ارزش نوشتن هم نداره! ولی هر کدوم رو که مشکل داشتی بیا بگو روش کار کنیم.
(چند وقت پیش توی فکرم بود یه هدر بسازیم توش خیلی از توابع بسکام رو پیاده سازی کنیم تا توی سی هم اونایی که بسکام کار میکردن بتونن استفاده کنن.(ممکنه یه بسکام کار بخواد به خاطر عدم امکان انجام یه کار کوپیک توی بسکام،برای یکی از میکرو ها برنامه رو با کدویژن بنویسه.اینجوری فقط باید ساختار کلی رو بلد باشه.))
نقل قول: اینجا که شما گفتی if نیازی به if نیس که با یک عملگر منطقی که اگه اشتباه نکن این بود>>~<< میشه اینکارو کرد.
اين عملگر كارش NOT كردنه " ~ "
اوني كه شما مي گي Xor هست --> " ^ "