PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : مشکل با رجیستر تایمر 1



masoodhashemy
10-08-2010, 15:37
با سلام
ببخشید من در بسکام میخوام نوشتن دستورات کانفیگ تایمر 1 با مقدار دهی رجیسترهای تایمر 1 این کار رو کنم
2 تا از رجیسترهاش رو یاد گرفتم:
tcnt1
tccr1A

حالا میخوام مقدار prescale به تایمر 1 بدم چه جوری بدم؟

با تشکر

gate_crasher
10-08-2010, 16:32
باید رجیستر tccr1b رو مثل عکس های زیر مقدار دهی کنی
You can see links before reply
You can see links before reply
You can see links before reply

masoodhashemy
10-08-2010, 20:41
ببخشید اگر ممکنه یک خط بصورت عملی بنویسید مثلا فرض کن میخوام تایمر 1 با prescale=8 و مقدار اولیه 200 راه بیفته
باید این جوری بنویسم؟

Tccr1b = &H0000
Tcnt1 = 200
Tccr1b = &H0002

ghaem313
10-08-2010, 23:13
اگه از کدویژن استفاده میکردید واقعا نیازی به ابن چیزا نبود راحت کدش رو براتون تولید میکنه
خط اول رو اضافه نوشتین
بقیه اش درسته
البته این جوری تایمر در حالت معمولیه اگه pwm بخواید با یه تغیراتی بکنه

TCCR1B=0x02;
TCNT1H=0x02;
TCNT1L=0x00;
کد ویژنیشم این طوریه

masoodhashemy
11-08-2010, 10:16
دوست من چی کار کنم که فعلا در بدبختی های این بسکام موندم درسته که نیازها رو راحت تامین میکنه ولی بعضی جاها که میخوام حرفه ای بازی در بیارم نمیتونم مجبورم از از این رجیسترها استفاده کنم.
به خاطر همین میخوام در آینده با سی کار کنم.

masoodhashemy
11-08-2010, 18:12
ببخشید ببینید من درست مقدارم رو داخل رجیستر تایمر 1 ریختم
گفتم چون مقدار 16 بیتی هست 8بیت کم ارزش رو جدا کردم ریختم داخل tcnt1L و 8 بیت پرارزش رو هم جدا کردم ریختم داخل tcnt1H
درسته؟

ghaem313
11-08-2010, 19:31
منظورتون واضح نیست
میکرو avr چو 8 بیتی پسdatabus هشت بیتی داره وبرای تمامی انتقال ها با دیتا باس مجبوره هشت بیت هشت انتقال رو انجام بده به این صورت که توی اسمبلی برای هنوشتن اول 8 بیت بالا وبعد پایین وبرای خوندن اول 8 بیت پایین و بعد باال رو انجام میده
داخل c راحت تره ونیازی به این که به ترتیب خوندن ونوشتن رو انجام بده نداری ولی باید هشت بیت هشت بیت بنویسی به همین خاطر تمام رجیستر های 16 بیتی به دو بخش LوH تقسیم شدن

تو بسکام رو نمیدونم اما فکر کنم نیاز به جدا کردنش نباشه