mohsen_nikoei
پنج شنبه 04 شهریور 1395, 12:40 عصر
سلام رفقا.... ای کدی که پایین نوشتم تو کتاب اقای الوندی نوشته شده (ص 133) و قراره کانتر به اندازه مقداری که تو TCNT هست کلاک بشماره و پایه A0 رو معکوس کنه چیزی که واسه من مبهم هست اون while( (TIFR & 0X01)!)
هستش...اولا که نمیدونم واسه چی هست جون پاکش میکنم باز هم برنامه درست کار میکنه دوم اینکه مگه نباید شرط تو پرانتز چک بشه و دستوراتی که تو اکولاد زیرش هست اجرا بشه ولی زیرش اکولادی نیس ..و سوال دوم اینکه
دستر اخری که مربوط به فلگ overflow هست من اینو پاک میکنم بازم برنامه درست کار میکنه پس چه لزومی داره وجود این دستور ؟ دوستان من مبتدی هستم شاید سوالا ساده و مضحک باشه ولی بنده هرچقدر گشتم به جواب این
دو سوال نرسیدم ممنون میشم از کمکتون..
#include <mega16.h>
void main(void)
{
PORTA.0=0;
DDRA.0=1;
while (1)
{
TCNT0=0xF1;
TCCR0=0x04;
while(!(TIFR & 0x01)) ;
TCCR0=0x00;
PORTA.0=! (PORTA.0);
TIFR |=0x01;
} ;
}
هستش...اولا که نمیدونم واسه چی هست جون پاکش میکنم باز هم برنامه درست کار میکنه دوم اینکه مگه نباید شرط تو پرانتز چک بشه و دستوراتی که تو اکولاد زیرش هست اجرا بشه ولی زیرش اکولادی نیس ..و سوال دوم اینکه
دستر اخری که مربوط به فلگ overflow هست من اینو پاک میکنم بازم برنامه درست کار میکنه پس چه لزومی داره وجود این دستور ؟ دوستان من مبتدی هستم شاید سوالا ساده و مضحک باشه ولی بنده هرچقدر گشتم به جواب این
دو سوال نرسیدم ممنون میشم از کمکتون..
#include <mega16.h>
void main(void)
{
PORTA.0=0;
DDRA.0=1;
while (1)
{
TCNT0=0xF1;
TCCR0=0x04;
while(!(TIFR & 0x01)) ;
TCCR0=0x00;
PORTA.0=! (PORTA.0);
TIFR |=0x01;
} ;
}