سلام. جان من دیگه اینو جواب بدین هر چی سوال پرسیدم تا حالا هیچکی جواب نداد انگار هیچ بنی بشری به این مشکلات تا حالا برنخورده :eek:
من سیگنال حاصل از شفت را وصل کردم به پایه T1 که تعداد TCNT1 رو بدست بیارم
تو تایمر 2 هم زمان یک ثانیه رو ایجاد میکنم
مثلا 4 مگ کلاکم باشه میشه 245 (تقسیم بر 64 )
ولی درست جواب نمیده چرا؟؟؟؟؟؟؟؟
[interrupt [TIM1_OVF] void timer1_ovf_isr(void)
{
TCNT1++;
i1++;
}
////////////////////////////////////////////////////////////////////////////////
interrupt [TIM2_OVF] void timer2_ovf_isr(void)
{ count++;
if (count== 245)
{
count= 0;
TCNT1=0;
}
}
تو main هم دارم
TCCR2=0x04;
TCNT2=0x00;
OCR2=0x00;
TCCR1A=0x00;
TCCR1B=0x07;
..........
TIMSK=0x44;
#asm("sei"
یه مشکل دیگه هم که دارم نمیدونم باید مقدار1 TCNT رو تو همون تابع اینتراپت 2 بخونم یا تو MAIN
جان من جواب بدین :cry2:
من سیگنال حاصل از شفت را وصل کردم به پایه T1 که تعداد TCNT1 رو بدست بیارم
تو تایمر 2 هم زمان یک ثانیه رو ایجاد میکنم
مثلا 4 مگ کلاکم باشه میشه 245 (تقسیم بر 64 )
ولی درست جواب نمیده چرا؟؟؟؟؟؟؟؟
[interrupt [TIM1_OVF] void timer1_ovf_isr(void)
{
TCNT1++;
i1++;
}
////////////////////////////////////////////////////////////////////////////////
interrupt [TIM2_OVF] void timer2_ovf_isr(void)
{ count++;
if (count== 245)
{
count= 0;
TCNT1=0;
}
}
تو main هم دارم
TCCR2=0x04;
TCNT2=0x00;
OCR2=0x00;
TCCR1A=0x00;
TCCR1B=0x07;
..........
TIMSK=0x44;
#asm("sei"

یه مشکل دیگه هم که دارم نمیدونم باید مقدار1 TCNT رو تو همون تابع اینتراپت 2 بخونم یا تو MAIN
جان من جواب بدین :cry2:
دیدگاه