یک متغییر از نوع سینگل دارم که میخوام در هر سیکل کار یکی بهش اضافه بشه مثلا
اما وقتی این اضافه کردن در حلقه لوپ اصلی برنامه بکار میره ، عملا هیچ تاثیری روی مقدارش در روتین زیرمجموعه وقفه تایمر 0 نداره ، چرا ؟
مثال :
اما وقتی این اضافه کردن در حلقه لوپ اصلی برنامه بکار میره ، عملا هیچ تاثیری روی مقدارش در روتین زیرمجموعه وقفه تایمر 0 نداره ، چرا ؟
مثال :
کد:
$regfile = "m16def.dat" $crystal = 11059200 $baud = 1200 : Config Lcdpin = Pin , Db4 = Porta.3 , Db5 = Porta.4 , Db6 = Porta.5 , Db7 = Porta.6 , Rs = Porta.0 , E = Porta.2 Config Lcd = 16 * 2 Enable Interrupts Config Timer0 = Timer , Prescale = 8 : On Timer0 Scan : Enable Timer0 Stop Timer0 Start Timer0 Dim Si As Single Do Si = Si + 1 Loop اگه اینجا باشه مقدار همیشه برابر با 0.0 چاپ میشه ، انگار نه انگار که اینجا این متغییر هی یکی بهش اضافه میشه مثلا... End Scan: Cls ' Si = Si + 1 اما اگه همون خط دستور اضافه کردن را توی خود تایمر بنویسم مثل بچه آدم اضافه و چاپ میکنه ، چرا ؟ چه خاکی تو سر این باسکام و ای وی آر و خودم بکنم ؟ Lcd Si Return End
دیدگاه